在Sql server 2k8 management studio 中先后执行下面每行语句即可得到Sql语句的成本,即为第二个语句执行结果中第一行中TotalSubtreeCost字段值.
set showplan_all on select * from sys.all_columns
第二个语句(select * from sys.all_columns)执行结果:
友情提示:表格较宽,请运行代码后在新窗口中查看。
提示:可修改后代码再运行!
再执行 set showplan_all off结束查询计划分析结果.
此时可以应用showplan_all来获取Sql查询的成本.
如下为C#简单实现上述应用,在VS2k8中编译通过,只需正确更改Data Source即可运行:
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Data.SqlClient; using System.Data; using System.Diagnostics;
namespace ConsoleApplication1 { class Program { static void Main(string[] args) { SqlConnectionStringBuilder connectionBuilder = new SqlConnectionStringBuilder(); connectionBuilder.Add("Data Source","your server name or ip"); connectionBuilder.Add("Initial Catalog","master"); connectionBuilder.Add("Integrated Security","True");
string sqlStr = "select * from sys.all_columns"; Console.WriteLine(GetSqlCost(connectionBuilder.ToString(),sqlStr).ToString()); Console.Read(); }