什么会导致糟糕的SQL服务器性能?

pan*_*ang 9 sql-server performance

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

我的问题是:

还有其他技巧可以提高SQL服务器的性能吗?

导致SQL Server性能恶化的另一个原因是什么?

Dav*_*kle 22

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

哦,也可能还有其他一些.