数据库优化方法-建立索引
作为菜鸟级别的程序员,近来看了数据库优化的方法之一,建立数据库索引.收获不小滴,在此记录一哈,以备查阅.
一.什么是索引
从我们从小就抱着用的汉语词典来做个比方吧,中华文化几千年啦,文字(数据)也是几千年文化的产物,这么多的汉字如何存放到一本字典中呢,按照什么样的规则去一页(在数据库中数据也是按页存放的,每页4KB)一页的去放汉字呢.比如按拼音的首字母,笔画,偏旁部首,像这种规则就相当于我们数据中的索引.
二.索引的分类.
字典是一页一页的,页的顺序就是数据存储的物理顺序,在字典的右侧那面我们能看到a、b、c、d...也是有一定顺序,这种与每页的顺序一致的拼音首字母顺序就是聚簇索引;
除此之外我们还能看到汉字也以笔画和偏旁部首,但是他们的排序是在a、b、c、d...排序的前提下排序的,这种顺序叫做非聚簇索引.
总的来说索引的分类是这样滴:
1)唯一索引:就想数据库中的唯一约束,两行数据中不允许有相同的值;
2)主键索引:为表建立主键时就会自动的创建主键索引,是特殊的唯一索引类型,主键索引要求主键必须唯一且不能为空;
3)聚簇索引:表中各行的存放的物理顺序与逻辑顺序一致,每个表只有一个;
4)非聚簇索引:数据存在一个位置,索引存在另一个位置,索引中包含指向数据库存储位置的指针.
三.如何创建索引
使用T-SQL语句创建索引的语法:
CREATE [UNIQUE] [CLUSTERED|NONCLUSTERED]
INDEX index_name
ON table_name (column_name…)
[WITH FILLFACTOR=x]
UNIQUE表示唯一索引,可选
CLUSTERED、NONCLUSTERED表示聚集索引还是非聚集索引,可选
FILLFACTOR表示填充因子,指定一个0到100之间的值,该值指示索引页填满的空间所占的百分比
四.通过数据库中的"数据库引擎优化顾问"来优化TSQL.
1)选中要优化的TSQL;
2)右击选择"数据库引擎优化顾问",打开数据库引擎优化顾问界面;
3)单机"开始分析"按钮,分析完成后在"定义"那一列中单机链接,打开"SQL脚本预览"页面;运行该脚本.
详细步骤请看:http://www.cnblogs.com/chillsrc/archive/2009/09/23/1572743.html
五.如何查看TSQL或者存储过程执行效率
为了查看自己优化效果,在SqlServer中的工具”菜单上选择“sql server profilter”,连接相应的数据库并设置完要查看的类型后运行便可看到效率执行效果.详细步骤请看:http://www.cnblogs.com/chillsrc/archive/2009/09/21/1571444.html
浙公网安备 33010602011771号