sql-server - 什么会导致 SQL Server 性能不佳?

标签 sql-server performance

每次我发现从数据库检索数据的性能很慢时。我尝试找出 SQL 查询 的哪一部分有问题,并尝试优化它并向表中添加一些索引。但这并不总能解决问题。

我的问题是:

还有其他技巧可以提高 SQL Server 性能吗?

还有哪些其他原因会导致 SQL Server 性能变差?

最佳答案

  • 查询设计效率低下
  • 自动增长文件
  • 表上需要维护的索引太多
  • 表上的索引太少
  • 没有正确选择聚集索引
  • 由于维护不善而导致索引碎片
  • 由于没有聚集索引而导致堆碎片
  • 索引上使用的 FILLFACTOR 过高,导致页面拆分过多
  • 索引上使用的 FILLFACTOR 过低,导致空间使用过多并增加扫描时间
  • 在适当的情况下不使用覆盖索引
  • 使用非选择性索引
  • 统计数据维护不当(统计数据过时)
  • 数据库未正确标准化
  • 事务日志和数据共享同一驱动器轴
  • 内存配置错误
  • 内存太小
  • CPU 太少
  • 硬盘速度慢
  • 硬盘驱动器或其他硬件出现故障
  • 数据库服务器上的 3D 屏幕保护程序会占用您的 CPU
  • 与其他竞争 CPU 和内存的进程共享数据库服务器
  • 查询之间的锁定争用
  • 扫描整个大表的查询
  • 前端代码以低效方式搜索数据(嵌套循环,逐行)
  • 不必要和/或不是 FAST_FORWARD 的游标
  • 当您使用游标浏览大型表时,不要设置 NOCOUNT。
  • 使用过高的事务隔离级别(例如在不需要时使用 SERIALIZABLE)
  • 客户端和 SQL Server 之间的往返次数过多(聊天界面)
  • 不必要的链接服务器查询
  • 链接服务器查询,其目标是远程服务器上未定义主键或候选键的表
  • 选择太多数据
  • 过多的查询重新编译

哦,可能还有其他一些。

关于sql-server - 什么会导致 SQL Server 性能不佳?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1252795/

相关文章:

sql - SSIS 问题无法解密 protected XML 节点

sql - 二叉树获取最左或最右的底部

c# - 如何使用 Microsoft.SqlServer.Management.SqlParser 中的类将 T-SQL 解析为 AST

android - BaseAdapter 和 ArrayAdapter 有什么区别?

java - Java中的多线程: Do different Operating Systems offer different performance?

Python:去除图像中黑色像素的快速方法

sql - 原理Sql Server中不存在dbo

sql-server - 创建附加全文目录的指南

ios - Swift - 性能明智 - 比较两个数组并获得每个数组的差异和两个数组的共同点

Oracle EXECUTE IMMEDIATE 更改解释查询计划