SQL添加order by后性能非常慢(也有可能是查询条件)!求高手帮忙优化下。。。
此句代码时候后,执行时间非常慢,大于需要40多S。
SELECT TOP 50 * FROM vw_App_Appointment WHERE 1 = 1 AND user_department_id = 1000
SELECT TOP 50 * FROM vw_App_Appointment ORDER BY appointment_id DESC
而当这两句分别执行时候,大约也就1S左右。
为什么性能会相差这么多呢?该怎么优化第一句SQL?
相关推荐
SQL order by ID desc/asc加一个排序的字段解决查询慢问题
解决方法就是在order by ID desc再加一个排序的字段,这样子可能会把速度提高很多。再加止排序的字段因查询而异了 如表 代码如下: CREATE TABLE [dbo].[CMPP_SendCentre] ( [id] [int] IDENTITY (1, 1) NOT NULL , [SendType] [varchar] (10) COLLATE Chinese_PRC_CI_AS NOT NULL , [SendDate] [datetime] NOT NULL , [Port] [varchar] (50) COLLATE Chinese_PRC_CI_AS NOT NUL
第48讲:SQL优化之ORDER BY排序查询的优化
针对3.5中排序后的现象,两个字段不同的排序规则,索引默认是升序排序,nl字段的升序排序没有任何效率问题,但是lxfs字段当下拿到的是nl字段升序后的结果集,还想要对lxfs字段降序排序,只能拿到排序缓冲区中进行额外的排序,因为在nl字段升序后的结果集里,lxfs字段也是升序的,但是我们要的是降序的效果,所以只能额外排序了。为不同的字段设置了不同的排序规则后,在索引的叶子节点里就已经排序好了,上面图的所有字段排序规则都是升序,下面图中lxfs字段是降序,可以看到每个索引元素中手机号都是降序排序了。
sql中 order by 和 group by的区别
主要介绍了sql中 order by 和 group by的区别的相关资料,非常不错,具有参考借鉴价值,需要的朋友可以参考下
SQL-ORDER BY 多字段排序(升序、降序)
本节主要介绍了SQL-ORDER BY 多字段排序包括升序、降序,下面有个示例,大家可以参考下
order by 、group by 、having的用法
order by 、group by 、having的用法区别 order by 从英文里理解就是行的排序方式,默认的为升序。 order by 后面必须列出排序的字段名,可以是多个字段名。 group by 从英文里理解就是分组。必须有“聚合函数”来配合才能使用,使用时至少需要一个分组标志字段。 什么是“聚合函数”? 像sum()、count()、avg()等都是“聚合函数” 使用group by 的目的就是要将数据分类汇总。


疑难问题
