俄语网站,wordpress 插件破解,外贸网站建设哪里好,网站基本内容目录 MySQL数据库-索引1.索引介绍2.索引分类3.创建索引3.1 唯一索引3.2 普通索引3.3 组合索引3.4 全文索引 4.索引使用5.查看索引6.删除索引7.索引总结7.1 优点7.2 缺点7.3 索引使用注意事项 MySQL数据库-索引 数据库是用来存储数据#xff0c;在互联网应用中#xff0c;数据… 目录 MySQL数据库-索引1.索引介绍2.索引分类3.创建索引3.1 唯一索引3.2 普通索引3.3 组合索引3.4 全文索引 4.索引使用5.查看索引6.删除索引7.索引总结7.1 优点7.2 缺点7.3 索引使用注意事项 MySQL数据库-索引 数据库是用来存储数据在互联网应用中数据库存储的数据可能会很多大数据数据表中数据的查询速度会随着数据量的增长而逐渐变慢从而导致相应用户请求的速度变慢造成用户体验差。为了提高数据的查询效率我们需要在数据库中用到索引。 数据准备
-- 创建数据表(准备存储500万数据)
CREATE TABLE tb_testindex(fid INT PRIMARY KEY, -- 主键sid INT UNIQUE, -- 唯一键tid int, -- 普通字段name VARCHAR(20),remark VARCHAR(20)
);
-- 数据准备创建存储过程向tb_testindex表插入500万条数据
CREATE PROCEDURE proc_readydata()
BEGINDECLARE i INT DEFAULT 1;WHILE i 5000000 DOINSERT INTO tb_testindex(fid,sid,tid,name,remark) VALUES(i,i,i,test_name,test_remark);SET i i1;END WHILE;
END;
-- 调用存储过程准备五百万条数据
CALL proc_readydata();
-- 查询数据
SELECT COUNT(1) FROM tb_testindex;1.索引介绍
索引用来提高数据表中数据的查询效率。 索引就是将数据表中的某一列/某几列的值取出来构造成便于查找的结构进行存储生成数据表的目录当进行数据查找的时候则先在目录中进行查找得到对应数据的地址然后再根据地址到数据表中快速的获取数据记录避免全表扫描。 2.索引分类
MySQL索引根据创建的列不同可以分为
主键索引在数据表的主键上创建的索引这个字段必须被primary key修饰每张表只能有一个主键唯一索引在数据表的唯一键上创建的索引必须被unique修饰此列的所有值只能出现一次可以为NULL普通索引在普通字段上创建的索引没有唯一性限制组合索引两个及以上的字段联合起来创建的索引
说明
在创建数据表时将字段声明为主键会自动在主键字段上创建索引–主键索引在创建数据表时将字段声明为唯一键会自动创建主键–唯一索引
3.创建索引
3.1 唯一索引
-- 创建唯一索引创建唯一索引的列可以为空但不能重复
CREATE UNIQUE INDEX index_tid ON tb_textindex(tid);3.2 普通索引
-- 创建普通索引不要求创建索引的列必须不能重复
CREATE INDEX index_tid ON tb_textindex(name);3.3 组合索引
-- 创建组合索引在多个字段上创建索引
CREATE INDEX index_tid ON tb_textindex(tid,name);3.4 全文索引 全文索引是MySQL5.6版本以后新增的索引通过此索引可以进行全文检索操作因为Mysql的全文检索不支持中文因此全文索引不被开发者关注在应用开发中通常是通过全文搜索搜索引擎如ES数据库中间件实现全文检索。 create fulltext index index_name on 表名字段名4.索引使用 索引创建完成以后不需要调用当根据创建索引的类进行数据查询的时候会自动使用索引。 组合索引也需要根据创建索引的所有字段进行查询时触发。 在命令行窗口中可以查询语句的查询规划
explain select * from tb_testindex where tid 250000\G;5.查看索引
-- 命令行
SHOW CREATE TABLE tb_testindex;-- 查询索引
show index from tb_testindex;-- 查询索引
show keys from tb_testindex;6.删除索引
-- 删除索引
-- 索引是建立在字段上的不同表中可能出现相同名称的索引所以删除索引时需要指定表名
drop index index_tid on tb_testindex;7.索引总结
7.1 优点
索引提高查询效率索引可以避免服务器排序将随机的IO变成顺序IO
7.2 缺点
索引是根据数据表列的值创建当数据表中数据发生DML操作时会重新生成索引文件索引文件也会占用磁盘空间
7.3 索引使用注意事项
如果数据表中数据不多时不建议使用索引全表扫描可能会更快数据量大但是DML操作频繁不建议使用索引不要在数据重复度高的列上创建索引性别创建索引之后要注意查询SQL语句的编写避免索引失效