初始化测试数据 创建一个测试用的表 在表中插入一万条数据 通过EXPLAIN分析SQL的执行计划 type:表示MySQL在表中找到所需行的方式,或者叫访问类型,常见类型如下(从左到右 ...
初始化测试数据 创建一个测试用的表 create table dept id int primary key auto increment , deptName varchar not null unique,salary decimal , not null,remark varchar ,createDate date 使用存储过程在表中插入一万条数据 通过EXPLAIN分析SQL的执行计划 ...
2018-07-22 14:17 2 16705 推荐指数:
初始化测试数据 创建一个测试用的表 在表中插入一万条数据 通过EXPLAIN分析SQL的执行计划 type:表示MySQL在表中找到所需行的方式,或者叫访问类型,常见类型如下(从左到右 ...
灵魂3连问: 什么是前缀索引? 前缀索引也叫局部索引,比如给身份证的前 10 位添加索引,类似这种给某列部分信息添加索引的方式叫做前缀索引。 为什么要用前缀索引? 前缀索引能有效减小索引文件的大小,让每个索引页可以保存更多的索引值,从而提高了索引查询的速度。但前缀索引也有它的缺点,不能在 ...
1.什么索引 索引是一种特殊的文件(InnoDB数据表上的索引是表空间的一个组成部分),它们包含着对数据表里所有记录的位置信息。更通俗的说,数据库索引好比是一本书前面的目录,能加快数据库的查询速度. 2.索引工作原理 除了词典,生活中随处可见索引的例子,如火车站的车次表、图书的目录 ...
在公司后台某模块功能记录日志中有一个搜索功能,通过前段时间的产品使用时间区间进行搜索反馈有些卡顿,我发现这个搜索功能比较慢,要3秒左右才能出来,就决定对这里做一下优化。 通过分析代码和SQL发现最核心的问题在于一个区间查询耗时太长,耗时2秒多,所以我决定看看这里能不能优化,其中核心SQL ...
并且使用索引的MySQL是一辆兰博基尼的话,那么没有设计和使用索引的MySQL就是一个人力三轮车。对于没有 ...
可能用到索引的地方: where 子句,order by,group by 不需要创建索引的情况: 1. 表比较小 2.赋值有限的列(枚举),不要创建索引。创建的索引返回的行越少越好,此时区分度大。 3.用不上索引的列,不要创建索引。 4.长字符串的列,不要全部创建索引,但可以使用短索引 ...
一、查询原则 不要使用 select * from 查询整表字段,建议使用select id,name,address from user 方式查询; 如果id为主键,name字段是普通索引,使用like时,尽量使用后匹配,select * from user where name ...