日期:2014-05-16  浏览次数:20769 次

菜鸟级数据库查询问题,希望懂的给个明确的回答。
select * from table title like %query% limit 0,10

如果用这个命令查询,数据库的工作顺序是先找到第1-10行数据,然后再在title含有query的行呢?还是先遍历整张表,然后返回title中含有query的前10条数据呢??

------解决方案--------------------
先做like 再做limit吧! 你可以做个试验试试
------解决方案--------------------
先遍历整张表
------解决方案--------------------
先LIKE,找出符合条件的记录。然后取前10条。
------解决方案--------------------
select * from table where title like %query% limit 0,10
先WHERE title like %query%,再limit 0,10
------解决方案--------------------
肯定是先遍历表,先得到符合的,然后才返回记录数

你可以这样想,如果先返回记录数,然后在过滤,那不就可能返回是空的了吗?