首页 > 代码

mysql语句请尽量不使用ORDER BY RAND()

不使用ORDER BY RAND()


select id from `dynamic` order by rand() limit 1000;

上面的SQL语句,可优化为:


select id from `dynamic` t1 join (select rand() * (select max(id) from `dynamic`) as nid) t2 on t1.id > t2.nidlimit 1000;

区分in和exists、not in和not exists
原SQL语句:


select * from 表A where exists(select * from 表B where 表B.id=表A.id)

高效的SQL语句:


select colname … from A表 Left join B表 on where a.id = b.id where b.id is null


  • 服务器上mysql数据库很多,某个库把整台服务器拉爆了,如何定位找到罪魁?
  • 服务器上mysql数据库很多,某个数据库把整台服务器拉爆了,如何定位找到罪魁? 先在 MySQL 里把“正在烧 […]

  • mysql区间泛内容批量替换语句,且限定ID范围
  • 要求:要批量把文章id where id >= 587606 and id

  • mysql批量删除所有文章某区间内不同的内容
  • 【批量删除所有文章某区间内容】 例:某mysql数据内有几十万条数据,删除所有 <p class=&qu […]

  • InnoDB删除数据后释放磁盘空间的方法
  • 最近发现mysql里的一个数据文件竟然高达150G,当时就懵了, 经过查文档发现原来,所有信息都存在这一个文件 […]

  • 批量删除wordpress内容,按标题内容字段字段长短
  • 批量删除文章,按标题内容字段字段长短, DELETE FROM wp_posts where length(p […]

  • 批量删除wordpress所有内容页里某个字符段前后的内容
  • 举个栗子一: 批量删除某个内容前的所有内容 例:删除表wp_posts 字段post_content 内容里所 […]