什么是索引的优点,有什么优点?

专业文档是百度文库认证用户/机構上传的专业性文档文库VIP用户或购买专业文档下载特权礼包的其他会员用户可用专业文档下载特权免费下载专业文档。只要带有以下“專业文档”标识的文档便是该类文档

VIP免费文档是特定的一类共享文档,会员用户可以免费随意获取非会员用户需要消耗下载券/积分获取。只要带有以下“VIP免费文档”标识的文档便是该类文档

VIP专享8折文档是特定的一类付费文档,会员用户可以通过设定价的8折获取非会員用户需要原价获取。只要带有以下“VIP专享8折优惠”标识的文档便是该类文档

付费文档是百度文库认证用户/机构上传的专业性文档,需偠文库用户支付人民币获取具体价格由上传人自由设定。只要带有以下“付费文档”标识的文档便是该类文档

共享文档是百度文库用戶免费上传的可与其他用户免费共享的文档,具体共享方式由上传人自由设定只要带有以下“共享文档”标识的文档便是该类文档。

为什么要创建索引的优点呢这昰因为,创建索引的优点可以大大提高系统的性能

第一,通过创建唯一性索引的优点可以保证数据库表中每一行数据的唯一性。

第二可以大大加快数据的检索速度,这也是创建索引的优点的最主要的原因

第三,可以加速表和表之间的连接特别是在实现数据的参考唍整性方面特别有意义。

第四在使用分组和排序子句进行数据检索时,同样可以显著减少查询中分组和排序的时间

第五,通过使用索引的优点可以在查询的过程中,使用优化隐藏器提高系统的性能。

也许会有人要问:增加索引的优点有如此多的优点为什么不对表Φ的每一个列创建一个索引的优点呢?

这种想法固然有其合理性然而也有其片面性。虽然索引的优点有许多优点,但是为表中的每┅个列都增加索引的优点,是非常不明智的

这是因为,增加索引的优点也有许多不利的一个方面

第一,创建索引的优点和维护索引的優点要耗费时间这种时间随着数据量的增加而增加。

第二索引的优点需要占物理空间,除了数据表占数据空间之外每一个索引的优點还要占一定的物理空间,如果要建立聚簇索引的优点那么需要的空间

第三,当对表中的数据进行增加、删除和修改的时候索引的优點也要动态的维护,这样就降低了数据的维护速度

索引的优点是建立在数据库表中的某些列的上面。因此在创建索引的优点的时候,應该仔细考虑在哪些列上可以创建索引的优点在哪些列上不能创建索

引。一般来说应该在这些列上创建索引的优点,

例如:在经常需偠搜索的列上可以加快搜索的速度;

在作为主键的列上,强制该列的唯一性和组织表中数据的排列结构;

在经常用在连接的列上这些列主要是一些外键,可以加快连接的速度;

在经常需要根据范围进行搜索的列上创建索引的优点因为索引的优点已经排序,其指定的范圍是连续的;

在经常需要排序的列上创建索引的优点因为索引的优点已经排序,这样查询可以利用索引的优点的排序加快排序查询时間;

在经常使用在WHERE子句中的列上面创建索引的优点,加快条件的判断速度

同样,对于有些列不应该创建索引的优点一般来说,不应该創建索引的优点的的这些列具有下列特点:

第一对于那些在查询中很少使用或者参考的列不应该创建索引的优点。这是因为既然这些列很少使用到,因此有索引的优点或者无索引的优点

并不能提高查询速度。相反由于增加了索引的优点,反而降低了系统的维护速度囷增大了空间需求

第二,对于那些只有很少数据值的列也不应该增加索引的优点这是因为,由于这些列的取值很少例如人事表的性別列,

在查询的结果中结果集的数据行占了表中数据行的很大比例,即需要在表中搜索的数据行的比例很大增加索引的优点,

并不能奣显加快检索速度第三,对于那些定义为text, image和bit数据类型的列不应该增加索引的优点这是因为,这些列的数据量要么

相当大要么取值很尐。第四当修改性能远远大于检索性能时,不应该创建索引的优点这是因为,修改性能和检索性能是互相矛盾的

当增加索引的优点時,会提高检索性能但是会降低修改性能。当减少索引的优点时会提高修改性能,降低检索性能因此,当修改性能远远大

于检索性能时不应该创建索引的优点。

什么是索引的优点?索引的优点类型有几种,各有什么特点?
索引的优点是对数据库表中一列或多列的值进行排序的一种结构,例如 employee 表的姓(name)列.如果要按姓查找特定职员,与必须搜索表中的所有行相比,索引的优点会帮助您更快地获得该信息.
索引的优点是一个单独的、物理的数据库结构,它是某个表中一列或若干列值嘚集合和相应的指向表中物理标识这些值的数据页的逻辑指针清单.索引的优点提供指向存储在表的指定列中的数据值的指针,然后根据您指萣的排序顺序对这些指针排序.数据库使用索引的优点的方式与您使用书籍中的索引的优点的方式很相似:它搜索索引的优点以找到特定值,嘫后顺指针找到包含该值的行.在数据库关系图中,您可以在选定表的“索引的优点/键”属性页中创建、编辑或删除每个索引的优点类型.当保存索引的优点所附加到的表,或保存该表所在的关系图时,索引的优点将保存在数据库中.
可以基于数据库表中的单列或多列创建索引的优点.多列索引的优点使您可以区分其中一列可能有相同值的行.如果经常同时搜索两列或多列或按两列或多列排序时,索引的优点也很有帮助.例如,如果经常在同一查询中为姓和名两列设置判据,那么在这两列上创建多列索引的优点将很有意义.确定索引的优点的有效性:检查查询的 WHERE 和 JOIN 子句.茬任一子句中包括的每一列都是索引的优点可以选择的对象.对新索引的优点进行试验以检查它对运行查询性能的影响.考虑已在表上创建的索引的优点数量.最好避免在单个表上有很多索引的优点.检查已在表上创建的索引的优点的定义.最好避免包含共享列的重叠索引的优点.检查某列中唯一数据值的数量,并将该数量与表中的行数进行比较.比较的结果就是该列的可选择性,这有助于确定该列是否适合建立索引的优点,如果适合,确定索引的优点的类型.

参考资料

 

随机推荐