设计本官方网站广告,温州网站设计服务,旅游产品设计方案,wordpress 如何备份数据库结构一、索引的类型 mysql索引的四种类型#xff1a;主键索引、唯一索引、普通索引和全文索引。通过给字段添加索引可以提高数据的读取速度#xff0c;提高项目的并发能力和抗压能力。索引优化时mysql中的一种优化方式。索引的作用相当于图书的目录#xff0c;可以根据目录中的…一、索引的类型 mysql索引的四种类型主键索引、唯一索引、普通索引和全文索引。通过给字段添加索引可以提高数据的读取速度提高项目的并发能力和抗压能力。索引优化时mysql中的一种优化方式。索引的作用相当于图书的目录可以根据目录中的页码快速找到所需的内容。 主键索引: 主键是一种唯一性索引但它必须指定为PRIMARY KEY每个表只能有一个主键。 alert table tablename add primary key (字段名) 唯一索引: 索引列的所有值都只能出现一次即必须唯一值可以为空。 alter table table_name add primary key (字段名); 普通索引 : 基本的索引类型值可以为空没有唯一性的限制。 alter table table_name add index (字段名); 全文索引: 全文索引的索引类型为FULLTEXT。全文索引可以在varchar、char、text类型的列上创建。可以通过ALTER TABLE或CREATE INDEX命令创建。对于大规模的数据集通过ALTER TABLE或者CREATE INDEX命令创建全文索引要比把记录插入带有全文索引的空表更快。MyISAM支持全文索引InnoDB在mysql5.6之后支持了全文索引。 全文索引不支持中文需要借sphinx(coreseek)或迅搜、code技术处理中文。 alter table 表名 add FULLTEXT(字段名); 二、查看表的所有索引和删除 #查看:show indexes from 表名;#或show keys from 表名;#删除alter table 表名 drop index 索引名; 三、索引的机制 1.为什么我们添加完索引后查询速度为变快 传统的查询方法是按照表的顺序遍历的不论查询几条数据mysql需要将表的数据从头到尾遍历一遍 在我们添加完索引之后mysql一般通过BTREE算法生成一个索引文件在查询数据库时找到索引文件进行遍历(折半查找大幅查询效率)找到相应的键从而获取数据2.索引的代价 2.1创建索引是为产生索引文件的占用磁盘空间 2.2索引文件是一个二叉树类型的文件可想而知我们的dml操作同样也会对索引文件进行修改所以性能会下降3.在哪些column上使用索引 3.1较频繁的作为查询条件字段应该创建索引 3.2唯一性太差的字段不适合创建索引尽管频繁作为查询条件例如gender性别字段 3.3更新非常频繁的字段不适合作为索引 3.4不会出现在where子句中的字段不该创建索引总结: 满足以下条件的字段才应该创建索引.a: 肯定在where条经常使用 b: 该字段的内容不是唯一的几个值 c: 字段内容不是频繁变化。 转载于:https://www.cnblogs.com/zhangqie/p/8416164.html