在对性能的无休止的追求中(以及我自己的猛击经验),我学到了一些东西,它们可能会拖累SQL语句的性能。
强迫子查询障碍
进行疯狂的类型转换(并将它们嵌套到遗忘中)
Group By关于所述疯狂类型转换的聚合函数
Where fldID in (从我的5mil记录表中选择所有内容)
我通常使用MSSQL。可以使用哪些工具来测试SQL语句的性能?这些工具是内置的并且特定于每种类型的DB服务器吗?或者有可用的通用工具吗?
发布于 2009-10-12 16:15:22
SQL事件探查器(内置):Monitoring with SQL Profiler
SQL Benchmark Pro (商业)
SQL Server2008具有新的Data Collector
SQL Server2005(更高版本)缺少一个索引动态管理视图(DMV),该视图非常有用(但仅适用于计划缓存中当前的查询计划):About the Missing Indexes Feature。
还有SQL Server Database Engine Tuning Advisor,它做得很好(只是不要实现它建议的所有内容!)
发布于 2009-10-12 16:15:09
我主要使用Profiler和执行计划查看器
发布于 2009-10-12 18:33:23
在调试查询性能问题时,Execution Plans是首先要考虑的问题之一。执行计划将告诉您在查询的每个部分中大致花费了多少时间,并可用于快速识别您是否缺少索引或具有昂贵的联接或循环。
https://stackoverflow.com/questions/1555471
复制相似问题