|
access中是否存在聚集索引的概念?如何创建聚集索引? 如果没有,那不是效率很低?有什么补救方法?
先来看一下 SQL Server 2000 中有关聚集索引的概念
使用聚集索引
聚集索引确定表中数据的物理顺序。聚集索引类似于电话簿,后者按姓氏排列数据。由于聚集索引规定数据在表中的物理存储顺序,因此一个表只能包含一个聚集索引。但该索引可以包含多个列(组合索引),就像电话簿按姓氏和名字进行组织一样。
聚集索引对于那些经常要搜索范围值的列特别有效。使用聚集索引找到包含第一个值的行后,便可以确保包含后续索引值的行在物理相邻。例如,如果应用程序执行的一个查询经常检索某一日期范围内的记录,则使用聚集索引可以迅速找到包含开始日期的行,然后检索表中所有相邻的行,直到到达结束日期。这样有助于提高此类查询的性能。同样,如果对从表中检索的数据进行排序时经常要用到某一列,则可以将该表在该列上聚集(物理排序),避免每次查询该列时都进行排序,从而节省成本。
在 ACCESS 中(以 ACCESS 2003 为例)不存在“聚集索引”的概念,因此我们无法确认ACCESS是否存在类似聚集索引的功能,但是 ACCESS 中确实有索引(INDEX)的功能
关于在 Access 数据库中设置字段和记录索引 (MDB) 索引有助于 Microsoft Access 快速查找和排序记录。Access 在表中使用索引,就像在书中使用索引一样:查找某个数据时,先在索引中找到数据的位置。可以基于单个字段或多个字段来创建索引。多字段索引能够区分开第一个字段值相同的记录。
以下为个人理解:聚集索引突出的是物理储存列的概念,ACCESS 中不存在上述概念,Access 数据的物理存储结构微软也是不公开的。
|