热门文章> mysql数据库索引常识 >

mysql数据库索引常识

36氪企服点评小编
2021-09-03 15:09
672次阅读

       在大数据产业发展、社会治理、人工智能等领域,随着社会数据量的急剧增长和数据复杂性的不断增加,数据库正发挥着越来越重要的作用。接下来小编为大家介绍介绍mysql数据库索引常识的相关内容,感兴趣的就一起来看看吧!

mysql数据库索引常识mysql数据库索引常识

mysql索引相关小常识:

一,经常被用来过滤记录的字段。

       1. primary key 字段, 系统自动创建主键的索引;
       2. unique key 字段,系统自动创建对应的索引;
       3. foreign key 约束所定义的作为外键的字段;

       4. 在查询中用来连接表的字段; 经常用来作为排序(order by 的字段)基准的字段;

二. 索引会占用磁盘空间,创建不必要的索引只会形成浪费.

三. 索引的创建必须考虑数据的操作方式。

       1.内容很少变动,经常被查询,为它多创建几个索引無所谓;

       2.经常性,例行性变动的表而言,则需要谨慎地创建确实必要的索引;

四. primary key 和 unique key的区别

       1. 作为Primary Key的域/域组不能为null。而Unique Key可以。
       2. 在一个表中只能有一个Primary Key,而多个Unique Key可以同时存在。
更大的区别在逻辑设计上, Primary Key一般在逻辑设计中用作记录标识,这也是设置
Primary Key的本来用意, 而Unique Key只是为了保证域/域组的唯一性。


五.复合索引和单一索引

       复合索引是指多字段联合索引,查询时经常需要这几个字段组合一起为条件再查询 
唯一索引主要是用主键ID索引,存储结构顺序与物理结构一致

如:create  index  idx  on  tbl(a,b)  
先按a排序, a相同的按b排序,所以当你查a或ab的时候, 
能够利用到这个索引.但当你只查b的时候,索引对你的帮助不大.可能可以跳跃查找.

添加和删除索引的情况:

1、表的主键、外键必须有索引;

2、数据量超过300w的表应该有索引;

3、经常与其他表进行连接的表,在连接字段上应该建立索引;

4、经常出现在Where子句中的字段,特别是大表的字段,应该建立索引;

5、索引应该建在选择性高的字段上;

6、索引应该建在小字段上,对于大的文本字段甚至超长字段,不要建索引;

7、复合索引的建立需要进行仔细分析;尽量考虑用单字段索引代替:

A、正确选择复合索引中的主列字段,一般是选择性较好的字段;

B、复合索引的几个字段是否经常同时以AND方式出现在Where子句中?单字段查询是否极少甚至没有?如果是,则可以建立复合索引;否则考虑单字段索引;

C、如果复合索引中包含的字段经常单独出现在Where子句中,则分解为多个单字段索引;

D、如果复合索引所包含的字段超过3个,那么仔细考虑其必要性,考虑减少复合的字段;

E、如果既有单字段索引,又有这几个字段上的复合索引,一般可以删除复合索引;

8、频繁进行数据操作的表,不要建立太多的索引;

9、删除无用的索引,避免对执行计划造成负面影响;

      数据库设计就是根据业务系统的具体需求,结合我们所选用的DBMS(数据库管理系统),为这个业务系统构造出最优的数据存储模型。如果大家对此感兴趣的话,可以多多搜索相关知识进行学习,以上就是小编为大家介绍的mysql数据库索引常识,感谢观看,希望本篇内容能对大家产生帮助。

[免责声明]

文章标题: mysql数据库索引常识

文章内容为网站编辑整理发布,仅供学习与参考,不代表本网站赞同其观点和对其真实性负责。如涉及作品内容、版权和其它问题,请及时沟通。发送邮件至36dianping@36kr.com,我们会在3个工作日内处理。

相关文章
最新文章
查看更多
关注 36氪企服点评 公众号
打开微信扫一扫
为您推送企服点评最新内容
消息通知
咨询入驻
商务合作