首页 > 解决方案 > 如果执行数据超过一定范围查询不被执行

问题描述

我向 ajax 页面发送了一些值并被该参数过滤。对于一个参数,如果数据结果大于 1500(让我们假设)它没有给我任何结果。否则它的给定。当我在 phpmyadmin 中手动执行相同的查询时,它的执行时间为 0.1010 秒,结果大于 1500 的结果不会出现。

当我给出一定的范围,比如限制 1000 时,就会有 1000 个数据出现。但是结果集有 2000 个数据怎么会来

SELECT mud.* 
FROM corporate_user_mapping cum 
LEFT OUTER JOIN master_user_details mud on mud.id=cum.r_user_id
LEFT OUTER JOIN doctype pincode ON pincode.id=mud.pincode 
LEFT OUTER JOIN doctype area ON area.id=pincode.parent_id 
LEFT OUTER JOIN doctype city ON city.id=area.parent_id
LEFT OUTER JOIN doctype state ON state.id=city.parent_id 
LEFT OUTER JOIN doctype country ON country.id=state.parent_id 
WHERE cum.location='$sessionlocation_id' AND cum.isactive='1' and emp_type='2' 
GROUP BY mud.id 
ORDER BY mud.first_name 

标签: phpmysql

解决方案


您可以对顺序查询使用偏移量,因此获取 1000 行,下一轮从 1001 开始并获取接下来的 1000 行。

... LIMIT 1000 OFFSET 1000... ;

推荐阅读