MYSQL 如何提高复合排序(多字段排序)的效率
答案:4 悬赏:40
解决时间 2021-02-10 13:17
- 提问者网友:温柔又任性
- 2021-02-10 00:31
MYSQL 如何提高复合排序(多字段排序)的效率
最佳答案
- 二级知识专家网友:我叫很个性
- 2021-02-10 01:26
select * from user
WHERe time > 946656000
AND time< 1095487658
AND userID <= 20
ORDER BY time DESC,userID ASC
LIMIT 1000;between...and 的效率比><的效率低
尽量不要使用*,用你需要的咧来替代
WHERe time > 946656000
AND time< 1095487658
AND userID <= 20
ORDER BY time DESC,userID ASC
LIMIT 1000;between...and 的效率比><的效率低
尽量不要使用*,用你需要的咧来替代
全部回答
- 1楼网友:许你一世温柔
- 2021-02-10 03:22
select *
from sellrecord
order by convert(int,substring(listnumber,1,2)) asc,convert (int,substring(listnumber,4,len(listnumber)-2)) asc
- 2楼网友:废途浑身病态
- 2021-02-10 03:02
SELECt * FROM user WHERe time BETWEEN 946656000 AND 1095487658 AND userID <= 20 ORDER BY time DESC,userID ASC LIMIT 1000;
这是要查询的已语句,也就是查表 user中 time 在范围( 946656000, 1095487658 )内的且userID <= 20的记录,按时间降序按userID 升序给出结果?
因为是复合排序,所以导致查询非常的慢!。表user中只有time是索引。
请问如何提高查询速度另外要说的是 因为同时使用了DSC 和ASC 所以索引也无法提高效率了。真是很纠结
- 3楼网友:高冷不撩人
- 2021-02-10 01:36
WHERe time BETWEEN 946656000 AND 1095487658 AND userID <= 20
用不上索引了吧 , 。所以慢了。
。。
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯