php - 如果执行数据超过一定范围查询不被执行
问题描述
我向 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
解决方案
您可以对顺序查询使用偏移量,因此获取 1000 行,下一轮从 1001 开始并获取接下来的 1000 行。
... LIMIT 1000 OFFSET 1000... ;
推荐阅读
- mongodb - 与朋友或关注者列表一起工作的最佳 MongoDB 架构是哪个?
- embedded - freeRTOS:关于 API“vTaskPrioritySet”行为的问题
- android - 在android中以编程方式打开谷歌播放保护设置页面
- typescript - TypeScript 将接口映射到文字类型
- php - Exif 数据不旋转图像 php
- python - OpenCV - 如何在特征匹配后将搜索到的图像绘制在目标图像之上?
- laravel - Laravel 集合按小时分组
- iis - IIS 10 应用程序池在回收后初始化时间很慢
- docker - 在带有 docker 的 unfs3 中使用 mount 命令时出现问题
- cassandra - 最大限度地减少非规范化数据库(如 Cassandra)中表之间的不一致