为了账号安全,请及时绑定邮箱和手机立即绑定

sql server下,怎么实现低损耗的Distinct

sql server下,怎么实现低损耗的Distinct

哈士奇WWW 2018-12-07 03:07:45
前几天问了一个ASP.Net MVC下EF动态查询导航属性的问题,实现后发现损耗有些大,经查,是使用了Distinct的原因,百度了一下,大家都说Distinct性能有问题。 我的页面使用了三个联动的select和一个PartialView,Select显现的是Distinct之后的JSON数据,本地测试750ms上下而PartialView也就是230ms上下。 请问有什么方法可以提高查询的性能?
查看完整描述

6 回答

?
MYYA

TA贡献1868条经验 获得超4个赞

不一定是Distinct的原因,建议检查一下是否是索引的问题

查看完整回答
反对 回复 2019-01-21
?
HUX布斯

TA贡献1876条经验 获得超6个赞

Distinct性能 问题 这种问题在数据量达到100万之前可以直接忽略

建议用缓存解决

查看完整回答
反对 回复 2019-01-21
?
慕的地10843

TA贡献1785条经验 获得超8个赞

汗了,这个表才一万多条记录

查看完整回答
反对 回复 2019-01-21
?
墨色风雨

TA贡献1853条经验 获得超6个赞

GROUP BY 比Distinct要好些

查看完整回答
反对 回复 2019-01-21
?
哔哔one

TA贡献1854条经验 获得超8个赞

EF自动生成的SQL语句,会有两个嵌套的 Group By ,比单个 Group By 执行要快。

查看完整回答
反对 回复 2019-01-21
?
至尊宝的传说

TA贡献1789条经验 获得超10个赞

楼主从以下几点优化查询

1、尽量少嵌套的sql语句。

2、索引是否优化?

3、能否用存储过程/函数代替?

4、数据量不是非常大的时候尽可能使用With函数。

查看完整回答
反对 回复 2019-01-21
  • 6 回答
  • 0 关注
  • 336 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信