问个查询效率问题!!
有一数据库 db_custom ,里边 5万条数据。id 为索引键
其中finish_flag 数据的值是 0 / 1 ,且这5万条数据只有最后新插入的70条数据的finish_flag值为0,其余都为1了。
select * from db_custom where finish_flag=0 order by id desc limit 50
select * from db_custom where finish_flag=0 order by id desc limit 100
但这两句执行花费的时间差别却很大,第二条是第一条的20多陪时间。
我想是因为5万条数据里一总只有70条符合提交的,那么mysql就循环了5万次去企图查询我所需要的100条。而第一条却是因为50条mysql不用循环所有数据就能给我完成了,所以才快了。
请问有什么办法或技巧:我想使上边的查询基础上,让mysql一旦帮我“循环查询”到一定行数#(无论是否符合条件)都终止并返回结果?因为这样花费太多时间了。