数据库入门之<索引>

[color=green][b]索引的初步了解[/b][/color]
一、什么是索引?

索引是数据库管理系统中一个排序的数据结构,以协助快速查询、更新数据库表中数据。数据库使用索引时,首先从索引中找到要查找数据对应的特定值(相当于指针),然后根据这个特定值找到所要数据所在的行。这可以类比从字典查询信息的方法。如:要从字典查找单词hello的意思、发音等信息的时候,首先从字典目录(索引)中找到以h开头的所有单词并从中找到hello单词(指针),然后顺着后面的页码去查找该单词详细的信息(即我们所要的数据)。

二、索引有哪几种?

根据数据库的功能,可以在数据库设计器中创建三种索引:唯一索引、主键索引和聚集索引。(有关数据库所支持的索引功能的详细信息,请参见数据库文档。)提示:尽管唯一索引有助于定位信息,但为获得最佳性能结果,建议改用主键或唯一约束。

1.唯一索引
唯一索引是不允许其中任何两行具有相同索引值的索引。

当现有数据中存在重复的键值时,大多数数据库不允许将新创建的唯一索引与表一起保存。数据库还可能防止添加将在表中创建重复键值的新数据。例如,如果在 employee 表中职员的姓 (lname) 上创建了唯一索引,则任何两个员工都不能同姓。

2.主键索引
数据库表经常有一列或列组合,其值唯一标识表中的每一行。该列称为表的主键。

在数据库关系图中为表定义主键将自动创建主键索引,主键索引是唯一索引的特定类型。该索引要求主键中的每个值都唯一。当在查询中使用主键索引时,它还允许对数据的快速访问。

3.聚集索引
在聚集索引中,表中行的物理顺序与键值的逻辑(索引)顺序相同。一个表只能包含一个聚集索引。如果某索引不是聚集索引,则表中行的物理顺序与键值的逻辑顺序不匹配。与非聚集索引相比,聚集索引通常提供更快的数据访问速度。


三、索引的缺点.
首先,索引要占用磁盘空间。通常情况下,这个问题不是很突出。但是,如果你创建每一种可能列组合的索引,索引文件体积的增长速度将远远超过数据文件。如果你有一个很大的表,索引文件的大小可能达到操作系统允许的最大文件限制。

第二,对于需要写入数据的操作,比如 DELETE、UPDATE以及INSERT操作,索引会降低它们的速度。这是因为MySQL不仅要把改动数据写入数据文件,而且它还要把这些改动写入索 引文件。

四、索引的建法.(因为还没实现过,待续)

----------->BTree、HashTree、各种索引的详细学习、特点、用法、什么是聚集索引...?
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值