LIMIT 不停止扫描?
如果我要查从M行的数据用LIMIT M,它会不会当描到M条要的据就放弃查询了??
MYSQL 手册上写:
· 只要MySQL已经发送了需要的行数到客户,它将放弃查询,除非你正使用SQL_CALC_FOUND_ROWS。
但是用EXPLAIN SELECT * FROM tablename LIMIT 10;后发现rows是全表的行数(大于10),这是
不是说明SQL得到10行后还在扫表呢?那LIMIT不就是和HAVING功能一样了?只是.
然后用SELECT * FROM tablename LIMIT 10 ORDER BY id DESC;得到是最后10行的数据,而不是
想要的前10行的倒排序.这是不是更加说明了MYSQL查询了全部的行后才筛选了后10行出来呢?
用EXPLAIN SELECT * FROM tablename LIMIT 10 ORDER BY id DESC;rows一样是全表行数.
以上能不能说是LIMIT没有停止扫描?
那如果是这样的样我要怎么才能得前十行数后就放弃扫描?