【发布时间】:2011-01-19 14:14:30
【问题描述】:
我想知道在所有类型的语句中哪些 sql 语句通常资源利用和内存消耗很高,变量的设置,创建哈希表,条件语句,循环语句等。如果任何人都可以提供关于sql server的信息就更好了。
我认为这是一个非常广泛的声明,但如果有人能对此有所了解,那就太好了。
【问题讨论】:
标签: sql sql-server
我想知道在所有类型的语句中哪些 sql 语句通常资源利用和内存消耗很高,变量的设置,创建哈希表,条件语句,循环语句等。如果任何人都可以提供关于sql server的信息就更好了。
我认为这是一个非常广泛的声明,但如果有人能对此有所了解,那就太好了。
【问题讨论】:
标签: sql sql-server
请务必记住,SQL 只是一种高级语言,用于描述您想要的数据集以及如何处理它。它(故意)没有指定如何做任何事情。实际操作是诸如全表扫描、散列连接等之类的操作,这些操作将根据数据库的结构和内容有其自身的成本。 RDBMS 将选择执行哪些操作以执行您的查询,并使用优化器找出最佳方法。您可以在查询中为优化器添加提示(在 SQL Server 中,它们通常采用查询末尾的“选项”子句的形式),但除非您对数据库有深入的了解,否则这样做通常不是一个好主意因为优化器非常擅长它的工作。如果要查看优化器将对查询执行什么操作,请选择查询并在 SQL Server Management Studio 中按 ctrl+L。这不仅会告诉你它会做什么,还会告诉你它认为每个操作有多昂贵。如果您发现某个操作开销很大,并且您认为可以通过重组查询来避免或减少操作,那么这是一个很好的起点。
这可能不是您想要的答案,但优化查询是一个值得自己研究的难题。但是,以下提示通常有助于构建更高效的查询:
希望对您有所帮助。
【讨论】: