数据库索引
2018-06-17 22:59:49来源:未知 阅读 ()
优点:
索引是对数据库表中一列或多列的值进行排序的一种结构,使用索引可快速访问数据库表中的特定信息。
普通查询,必须遍历整张表,知道找到该值,如果在该列上建立了索引,即可在索引中查找,由于索引是经过算法优化过的,因而查找次数要少的多。可见,索引是用来定位的。
缺点:
一是增加了数据库的存储空间,二是插入和修改数据时要花费较多的时间,因此,索引也要随之改动,降低了数据的维护速度。数据库索引就是为了提高表的搜索效率而对某些字段中的值建立的目录。
索引分类:
聚集索引,非聚集索引。
举个例子,字典前面的目录,可以按照拼音和部首去查询。而拼音查询费就是聚集索引,部首查询法就是非聚集索引。
所以,聚集索引存储记录在物理上连续存在,而非聚集索引在逻辑上是连续的。
另外,聚集索引一个表只能有一个,非聚集索引一个表可以有多个。
索引查询:
无索引的表,查询时,按照顺序查看的方式来扫描每条记录,这样小非常底下。聚集索引和非聚集索引的区别是,表记录的排列顺序和索引的排列顺序是否一致。
建立索引原则:
1 定义主键的数据列一定要建立索引。
2 定义有外键的数据列一定要建立索引。
3 对于经常查询的数据列最好建立索引。
4 对于需要在指定范围内的快速查询的数据列
5 经常用在where字句中的数据列。
6 经常出现在关键字order by group by distinct后面的字段
7 很少查询或者重复值较多的列不要建立索引
8 对于数据类型text,image,bit的数据类型的列不要建立索引。
9 经常存取的数据列不要建立索引。
10 表上的索引数目要有所限制。
创建索引:
非聚集索引:
CREATE INDEX mycolumn_index ON mytable (myclumn)
默认为非聚集索引。
聚集索引:
CREATE CLUSTERED INDEX mycolumn_cindex ON mytable(mycolumn)
注意一个表中只能有一个聚集索引,建立主键时就会创建主键索引,即聚集索引,所以创建了主键,就不能再创建聚集索引了。
删除索引:
DROP INDEX table_name.index_name[,table_name.index_name]
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
- MySQL性能优化的20条经验 2019-09-23
- 一份非常完整的MySQL规范 2019-09-17
- 数据库读写分离提高性能详解,原理是什么 2019-08-26
- MySQL索引详解与索引的优化 2019-08-23
- 我们日常使用的数据库的数据都储存在哪里呢? 2019-08-23
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash