0
点赞
收藏
分享

微信扫一扫

【数据库原理、编程与性能】Indexing

Jonescy 2023-06-20 阅读 45



文章目录

  • 1. Concept of Indexing
  • 1.1 Index
  • 1.2 Create Index
  • 1.3 DB-Index 分类
  • 1.4 建立索引的原则:
  • 1.5 DB-Index 作用
  • 2. 聚簇(Cluster/Cluster Index )存取方法
  • 2.1 概念
  • 2.2 特点
  • 2.3 弊端


1. Concept of Indexing

1.1 Index

  • 索引项=索引键+行指针
  • 索引是对数据库表中一列或多列的值进行排序的一种结构,使用索引可快速访问数据库表中的特定信息。如果想按特定职员的姓来查找他或她,则与在表中搜索所有的行相比,索引有助于更快地获取信息。索引的一个主要目的就是加快检索表中数据,亦即能协助信息搜索者尽快的找到符合限制条件的记录ID的辅助数据结构。
  • Index Entries(索引项)存储在B-tree/hash table中。

1.2 Create Index

CREATE [UNIQUE] INDEX indexname ON tablename (colname [ASC | DESC] {,colname [ASC | DESC] . . .}) ;

eg 1 : Create an index “citiesx” on “city” of the customers table.

Create index citiesx on customers(city);

eg 2 : Delete the index “citiesx” , can use the standard form:

Drop index citiesx;

eg 3 : Want to declare the “cid” to be UNIQUE INDEX.

Create unique index cidx on customers (cid);

1.3 DB-Index 分类

  • 索引
  • 组合索引
  • 唯一索引
  • 聚簇

1.4 建立索引的原则:

  • 经常在查询条件中使用的属性
  • 经常作为MAX、MIN等集函数处理参数的属性
  • 经常用于连接操作的属性

1.5 DB-Index 作用

  • 可提高数据Select速度;但维护要付出代价;
  • 频繁进行数据Updates的表,其索引选择要注意。

Eg. 学籍表在新生入校期间,录入数据量大,可删除索引;待数据趋于稳定后,重建索引,加快查询速度。

2. 聚簇(Cluster/Cluster Index )存取方法

  • CREATE CLUSTER [schema.]clustername (colname datatype {, . . .} [cluster_clause {. . .}];
  • DROP CLUSTER [schema.]clustername [INCLUDING TABLES [CASCADE CONSTRAINTS]];

2.1 概念

把某些属性组上,具有相同值的元组集中存放在连续的物理块中,称为聚簇。这些属性组叫聚簇码/聚簇索引。

2.2 特点

聚簇比其他种类的索引查询效率高;一个DB可建多个聚簇,但一个关系(表)只能加入一个聚簇。

2.3 弊端

聚簇可极大提高某些查询性能,但建立与维护聚簇的开销也相当大,因此应综合权衡。DB-Index 分类:索引、组合索引、唯一索引、聚簇


举报

相关推荐

0 条评论