加入收藏 | 设为首页 | 会员中心 | 我要投稿 百客网 - 百科网 (https://www.baikewang.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MySql教程 > 正文

一、常见索引类型

发布时间:2023-02-15 13:09:11 所属栏目:MySql教程 来源:
导读:  mysql 的索引类型有哪些?创建索引的优缺点,如何创建索引?

  一、常见索引类型:

  1、主键索引(PrimaryKey)

  2、唯一索引(Unique)

  3、联合索引(Index)

  4、普通索引
  mysql 的索引类型有哪些?创建索引的优缺点,如何创建索引?
 
  一、常见索引类型:
 
  1、主键索引(PrimaryKey)
 
  2、唯一索引(Unique)
 
  3、联合索引(Index)
 
  4、普通索引(Index)
 
  二、创建索引的优缺点
 
  优点:
 
  创建索引可以大大提高系统的性能。
 
  a、通过创建唯一性索引,可以保证数据库表中每一行数据的唯一性;
 
  b、可以大大加快数据的检索速度,这也是创建索引的最主要的原因;
 
  c、可以加速表和表之间的连接,特别是在实现数据的参考完整性方面特别有意义;
 
  d、在使用分组和排序子句进行数据检索时,同样可以显著减少查询中分组和排序
 
  的时间;
 
  e、通过使用索引,可以在查询的过程中,使用优化隐藏器,提高系统的性能。
 
  缺点:
 
  a、创建索引和维护索引要耗费时间,这种时间随着数据量的增加而增加;
 
  b、索引需要占物理空间,除了数据表占数据空间之外,每一个索引还要占一定的
 
  物理空间,如果要建立聚簇索引,那么需要的空间就会更大;
 
  c、当对表中的数据进行增加、删除和修改的时候,索引也要动态的维护,这样就
 
  降低了数据的维护速度。
 
  三、如何创建索引
 
  一般来说,应该在这些列上创建索引
 
  在经常需要搜索的列上,可以加快搜索的速度;在作为主键的列上mysql表索引,强制该列的唯一性和组织表中数据的排列结构;在经常用在连接的列上,这些列主要是一些外键,可以加快连接的速度;在经常需要根据范围进行搜索的列上创建索引,因为索引已经排序,其指定的范围是连续的;在经常需要排序的列上创建索引,因为索引已经排序,这样查询可以利用索引的排序,加快排序查询时间;在经常使用在 WHERE 子句中的列上面创建索引,加快条件的判断速度。
 
  四、注意事项:
 
  1、不要过度索引,索引越多,占用空间越大,反而性能变慢;
 
  2、使用短索引,如果 char(255)太大,应该给它指定一个前缀长度,大部分情况下前 10 位或 20 位值基本是唯一的,那么就不要对整个列进行索引;
 
  3、充分利用左前缀,这是针对复合索引,因为 WHERE 语句如果有 AND 并列,只 能识别一个索引(获取记录最少的那个),索引需要使用复合索引,那么应该将 WHERE 最频繁的放置在左边。
 

(编辑:百客网 - 百科网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!