江明涛的博客
《MySQL篇 五》索引问题
《MySQL篇 五》索引问题

《MySQL篇 五》索引问题

索引是对数据库表中一个或多个列的值进行排序的结构,建立索引有助于快速获取信息。

你也可以这样理解:索引就是加快检索表中数据的方法。数据库的索引类似于书籍的索引。在书籍中, 索引允许用户不必翻阅完整个书就能迅速地找到所需要的信息。在数据库中,索引也允许数据库程序迅 速地找到表中的数据,而不必扫描整个数据库。

mysql 有4种不同的索引:

  • 主键索引(PRIMARY)
    数据列不允许重复,不允许为NULL,一个表只能有一个主键。
  • 唯一索引(UNIQUE)
    数据列不允许重复,允许为NULL值,一个表允许多个列创建唯一索引。
    可以通过 ALTER TABLE table_name ADD UNIQUE (column); 创建唯一索引
    可以通过 ALTER TABLE table_name ADD UNIQUE (column1,column2); 创建唯一组合索 引
  • 普通索引(INDEX)
    可以通过 ALTER TABLE table_name ADD INDEX index_name (column); 创建普通索引
    可以通过 ALTER TABLE table_name ADD INDEX index_name(column1, column2, column3); 创建组合索引
  • 全文索引(FULLTEXT)
    可以通过 ALTER TABLE table_name ADD FULLTEXT (column); 创建全文索引

索引并非是越多越好,创建索引也需要耗费资源,一是增加了数据库的存储空间,二是在插入和删除时 要花费较多的时间维护索引

  • 索引加快数据库的检索速度
  • 索引降低了插入、删除、修改等维护任务的速度
  • 唯一索引可以确保每一行数据的唯一性
  • 通过使用索引,可以在查询的过程中使用优化隐藏器,提高系统的性能
  • 索引需要占物理和数据空间

上次更新时间 13 3 月, 2023 at 09:59 上午