MySql高级部分<二>

索引的使用

对多个列建立了索引,必须从左往右,像爬楼梯一样,中间不能断
在这里插入图片描述

在这里插入图片描述
不要用substring等运算操作
在这里插入图片描述
如果是字符串类型,必须加单引号,不然索引失效
在这里插入图片描述
少使用select * 这种语句,多使用 select 已经被索引的字段名

在这里插入图片描述
select 后面既有被索引的字段名,也有没有被索引的字段名 。 这样会降低效率,会出现using index condition ,就是查找使用了索引,但是需要回表去查询所需的数据
在这里插入图片描述在这里插入图片描述
要避免回表查询,回表查询效率很低

索引的字段相当于 0 ,没有被索引的字段相当于 1,用or连接时,0 or 1还是 1 ,所以还是没有被索引,那个被索引的字段也就失效了,不会被用到
在这里插入图片描述在这里插入图片描述
%加在前面,索引失效,这时候解决方案就是用覆盖索引的方法,将 select * 修改为 select 带有索引的字段 from 表名

在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述

sql优化

在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述
在事务中进行数据插入,如果需要插入的数据量比较大,可以分批的进行插入,比如要插入10万条数据,那么可以每一万条数据开启事务,然后提交,接下来一万条数据,又开启事务,一万条数据插入完成之后,再提交

在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述

or 的两边都必须要有索引,不然不会用到索引
在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述
在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qq_42350785/article/details/107614068