![](https://img-blog.csdnimg.cn/804373859e7a4fe68ceb2eec89e959cf.jpeg?x-oss-process=image/resize,m_fixed,h_224,w_224)
mysql
文章平均质量分 64
mysql
小花卷的dad
这个作者很懒,什么都没留下…
展开
-
mysql之sql优化总结(二)
因为InnoDB的行锁是针对索引加的锁,不是针对记录加的锁,并且该索引不能失效,否则会从行锁升级为表锁,影响并发事务性能。入下面sql的name字段没有创建索引,那么mysql会自动把行锁升级为表锁。,避免一条一条的提交,转换为一次性提交多条sql,建议没次的sql数量控制在1000条以内。,避免一条一条的插入数据,应,每次建议在1000条数据以内,如下。根据索引字段修改,避免行锁升级为表锁。,如自增主键,能够避免也分裂现象。,避免误删过多的数据,如下。多表关联删除时使用join。,尽量不使用子查询。原创 2023-11-14 16:36:41 · 140 阅读 · 0 评论 -
mysql之sql优化总结(一)
使用前缀索引(短索引),短索引不仅可以提高查询性能而且可以节省磁盘空间和I/O操作,减少索引文件的维护开销,但缺点是不能用于 ORDER BY 和 GROUP BY 操作,也不能用于覆盖索引。比如有一个varchar(255)的列,如果该列在前10个或20个字符内,可以做到既使前缀索引的区分度接近全列索引,那么就不要对整个列进行索引。为了减少key_len,可以考虑创建前缀索引,即指定一个前缀长度,可以使用。count(distinct leftIndex(列名, 索引长度))/count(*)原创 2023-11-14 16:08:54 · 174 阅读 · 0 评论 -
mysql优化之索引
索引就像书的目录一样,能够让我们快速的找到想要的内容。索引是一个有序列表,每个索引包含这个索引的值和对应数据的物理地址,通过索引能快速定位对应数据,从而提高查询的效率。索引并非越多越好,要根据实际情况合理建立索引,否也会对数据库的性能造成一定的负面影响。mysql常用的索引类型包含:普通索引、唯一索引、主键索引、联合索引。原创 2023-11-03 11:11:52 · 81 阅读 · 0 评论 -
mysql优化之explain详解
mysql的explain(执行计划)用于解释sql的执行的过程,然后把sql的执行过程用一张表格表示出来,它并不真正的执行sql,如下图。explain能够为我们优化sql提供很好参考作用。下面我来看下执行计划表中各个字段是什么意思id(select的序号)每一行数据代表一个select,id越大越先执行,id相同则从上往下执行,id为null的最后执行。select_type(查询的类型)SIMPLE:简单查询,没有子查询等等,简单YYDS。原创 2023-10-20 14:45:58 · 86 阅读 · 0 评论 -
mysql Range checked for each record (index map: 0x4)
mysl查询执行explain,关联查询字段出现以下提示,尽管被关联字段建了索引也没用。两张表的关联字段的排序规则不一致,改成一致的即可。原创 2023-08-22 17:13:07 · 263 阅读 · 0 评论 -
mysql之事务简介
数据库事务是包含一个或多个数据库操作的有序集合,事务里面的操作要么全部执行成功,要么全部执行失败,且事务中的数据库操作是有序执行的。数据库事务是为了保证业务系统在操作数据库时,数据和业务系统的运行结果最终保持一致。为解决上述问题,SQL标准制定了4个事务隔离级别,由低到高,隔离级别越高,性能越低, mysql的默认隔离级别: REPEATABLE-READ(可重复读)如果没有事务隔离,在多个事务并发的情况下,可能会产生以下问题。不同的事务隔离,能解决的事务并发问题如下表。原创 2023-06-07 10:28:13 · 83 阅读 · 0 评论