sql ORDER BY 多个字段,排序变慢几十倍,求解? 30

数据表7万+条数据,sql单个字段ORDERBY都是8-10毫秒,但2个字段并列查询排序速度慢了几十倍,倒是是什么问题?其中houseid为主键,push有索引。查询语句... 数据表7万+条数据,sql 单个字段 ORDER BY都是8-10毫秒,但2个字段并列查询排序速度慢了几十倍,倒是是什么问题?其中houseid 为主键,push 有索引。查询语句及耗时如图所示。 展开
 我来答
云南新华电脑学校
2020-01-05 · 百度认证:云南新华电脑职业培训学校官方账号
云南新华电脑学校
云南新华电脑学校是经云南省教育厅批准成立的省(部)级重点计算机专业学校,采用三元化管理模式,教学设备先进,师资雄厚学生毕业即就业,学院引进了电商企业入驻,创建心为电商创业园区,实现在校即创业
向TA提问
展开全部
SQL 中使用order By后,查询慢,加上主键 和 需要排序的字段组合排序 速度有很大的提升
在SQL Server查询数据测试,数据约三万条, 数据字段以时间倒序排序,
sql:
select ID, column1,column2,column3,record_date from table where ...... order by record_date desc
此时查询数据需要15秒左中 ,将orderby 修改为 order by ID desc,record_date desc 后,查询的数据一秒不到即可查询出来

在linq中,排序的时候,一定要用new 排序的对象,不然ID 将不会被加入到SQL中

linq:
var t = from a in t where ......select a;
t = t.orderby(t=>t.ID).orderby(t=>t.record_date) 此处的ID在解释成SQL时,不会在SQL中
应写为:
t = t.orderby(t=>new{t.ID,t.record_date})
知识阅历积累历程

2020-01-07 · 影视爱好者、游戏达人、IT 男
知识阅历积累历程
采纳数:10965 获赞数:6546

向TA提问 私信TA
展开全部
可以把需要group by的字段加上联合索引,需要注意前后顺序:搜索结果范围小的放前面,范围大的在后,如:
ALTER TABLE h_house ADD INDEX idx1(push,hourseid);
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式