多语言展示
当前在线:1667今日阅读:39今日分享:10

sql语句性能如何分析

针对sql server的性能分析,可以打开sql server的【执行计划】,看何处开销大,以及观察【Table Scan】表扫描 与【Index Scan】索引扫描,通常情况下,表扫描是要比索引扫描慢的,此时,可以适当增加索引等方式加快速度。1、【Table Scan】表扫描:即扫描整个表的记录行匹配2、【Index Scan】索引扫描:相当于按照字典目录找到某些页,再具体到页匹配数据,这样,就不会整个表匹配
方法/步骤
1

启动sql server客户端

2

创建两个测试表[Head]、[Sub]     -- 创建测试主表    CREATE TABLE [Head]( HCode varchar(50) NOT NULL, HName varchar(50), Remark varchar(200)    )    -- 创建测试子表    CREATE TABLE [Sub]( HCode varchar(50) NOT NULL, SName varchar(50), Remark varchar(200)    )

3

插入测试数据    -- 插入测试数据    declare @i int = 1;    declare @si varchar(10);    while(@i < 100)    begin      set @si = CONVERT(varchar(10), @i);      insert into [Head](HCode, HName, Remark) values('HCode' + @si, '主名字' + @si, '主备注');      insert into [Sub](HCode, SName, Remark) values('HCode' + @si, '名字' + @si, '备注')      set @i = @i + 1;    end

4

在sql server management studio的工具栏中,点选【包括实际的执行计划】,这样后续的查询语句将多一个结果视图【执行计划】

5

查询主从表,并观察【执行计划】,此时由于没有创建主键、索引,查询会执行【Table Scan】表扫描

6

在主表创建主键,从表创建外键

7

再次查询,【执行计划】中就会有【Index Scan】索引扫描

推荐信息