MySQL数据库之索引、事务、存储引擎详细讲解

一、索引 1.1 索引的概念

索引是一个排序的列表,存储着索引值和这个值所对应的物理地址

无须对整个表进行扫描,通过物理地址就可以找到所需数据

(数据库索引类似书中的目录,通过目录就可以快速査找所需信息)

1.2 索引的作用

建立索引之后,数据库利用各种快速定位技术,能够大大加快查询速率

当表很大或查询涉及多个表时,可以成千上万倍的提高查询速度

可以降低数据库的IO成本,还可以降低数据库的排序成本

通过创建唯一性索引保证数据表数据的唯一性

可以加快表与表之间的连接

1.3 索引的优缺点

优点:可以快速的找到所需要的的资源

缺点:占用空间

1.4 索引分类

普通索引

这是最基本的索引类型,而且它没有唯一性之类的限制

唯一性索引

这种索引和前面的“普通索引”基本相同,但有一个区别:索引列的所有值都只能出现一次,即必须唯一

主键

主键是一种唯一性索引,但它必须指定为“ PRIMARY KEY

全文索引

MySQL从32323版开始支持全文索引和全文检索。在 MySQL中全文索引的索引类型为 FULLTEXT,全文索引可以在 ARCHAR或者TEXT类型的列上创建

单列索引与多列索引

索引可以是单列上创建的索引,也可以是在多列上创建的索引

1.5 创建索引的原则依据

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

数据量超过300行的表应该有索引

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

唯一性太差的字段不适合建立索引

更新太频繁地字段不适合创建索引

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

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

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

对于大字段非要建索引,选择建全文索引

1.6 如何创建索引

根据企业需求选择了合适的索引之后,可使用 CREATE INDEX创建索引

CREATE INDEX加上各个索引关键字便可创建各个类型的索引

创建普通索引

1 语法: 2 create index <索引的名字> on tablename(列的列表); 3 例如: 4 create index salary on IT_salary; 5 '//一张表同一列可以做多个索引'

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wpfyjw.html