摘要:
MySQL的语句一共分为11步,如下图所标注的那样,最先执行的总是FROM操作,最后执行的是LIMIT操作。其中每一个操作都会产生一张虚拟的表,这个虚拟的表作为一个处理的输入,只是这些虚拟的表对用户来说是透明的,但是只有最后一个虚拟的表才会被作为结果返回。如果没有在语句中指定某一个子句,那么将会跳过... 阅读全文
posted @ 2015-07-30 15:06
World_of_code
阅读(111)
评论(0)
推荐(0)
摘要:
通常,我们会采用ORDER BY LIMIT start, offset 的方式来进行分页查询。例如下面这个SQL:SELECT * FROM `t1` WHERE ftype=1 ORDER BY id DESC LIMIT 100, 10;或者像下面这个不带任何条件的分页SQL:SELECT *... 阅读全文
posted @ 2015-07-30 13:00
World_of_code
阅读(382)
评论(0)
推荐(0)
摘要:
众所周知,在MySQL中,如果直接 ORDER BY RAND() 的话,效率非常差,因为会多次执行。事实上,如果等值查询也是用 RAND() 的话也如此,我们先来看看下面这几个SQL的不同执行计划和执行耗时。首先,看下建表DDL,这是一个没有显式自增主键的InnoDB表:[yejr@imysql]... 阅读全文
posted @ 2015-07-30 10:10
World_of_code
阅读(547)
评论(0)
推荐(0)

浙公网安备 33010602011771号