黑马程序员技术交流社区

标题: SQL什么是索引? [打印本页]

作者: 王海亮    时间: 2012-8-21 01:55
标题: SQL什么是索引?
什么是索引?索引的种类?索引和表中的主外键有关系么?   索引是个数组下表一个概念么?


作者: 许庭洲    时间: 2012-8-21 08:51
1. 索引是与表或视图关联的磁盘上结构,可以加快从表或视图中检索行的速度;
2. 根据数据库的功能,可以在数据库设计器中创建三种索引:唯一索引、主键索引和聚集索引;
3. 数据库表经常有一列或列组合,其值唯一标识表中的每一行。该列称为表的主键;
4. 唯一索引是不允许其中任何两行具有相同索引值的索引;
5. 在聚集索引中,表中行的物理顺序与键值的逻辑(索引)顺序相同。一个表只能包含一个聚集索引。
作者: 金鑫    时间: 2012-8-21 10:41
索引:是数据表中数据和相应存储位置的列表,类似于书的目录,利用索引可以提高在表或视图中查找数据的速度,提高查询效率

索引的分类:聚集索引
(1)查询的数据会全部根据索引规则全部重新排列一遍
(2)索引的顺序和数据的顺序是一样的
(3)一张表上只有一个聚集索引
一个表在创建主键的同时会自动在主键上添加聚集索引

非聚集索引:
(1)查询的数据不会全部根据索引规则全部重新排列
(2)索引的顺序和数据的顺序不需要一样
(3)一张表上可以有多个非聚集索引

非聚集索引一般加在经常需要查询的字段上

创建索引
CREATE [ UNIQUE ](唯一索引) [ CLUSTERED(聚焦索引) | NOnCLUSTERED(非聚焦索引) ]
INDEX   index_name
ON table_name (column_name…)
[WITH FILLFACTOR=x](填充因子(系数):指定一个0~100之间的值,表示索引页填充的百分比)

使用索引
with(index=索引名)

删除索引
drop index 表名.索引名

索引.jpg (43.36 KB, 下载次数: 79)

索引.jpg





欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2