可以应用哪些通用技术来优化SQL查询?

Niy*_*yaz 13 sql performance

可以有效地应用哪些技术来提高SQL查询的性能?是否有适用的一般规则?

Uns*_*ced 18

  • 使用主键
  • 避免选择*
  • 在构建条件语句时尽可能具体
  • 反规范化通常可以更有效
  • 表变量和临时表(如果可用)通常比使用大型源表更好
  • 分区视图
  • 使用指数和约束


Kei*_*ith 7

了解幕后的真实情况 - 您应该能够详细了解以下概念:

  • 索引(不仅仅是它们是什么,而且实际上它们是如何工作的).
  • 聚簇索引与堆分配表.
  • 文本和二进制查找以及它们何时可以内联.
  • 填充因子.
  • 如何为更新/删除重影记录.
  • 页面拆分发生时和原因.
  • 统计信息,以及它们如何影响各种查询速度.
  • 查询规划器以及它如何为您的特定数据库工作(例如在某些系统上"select*"很慢,在规划器可以处理它的现代MS-Sql DB上).

  • +1,@这比接受的答案要好 (2认同)