![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
mysql
文章平均质量分 56
叫我小淼m
这个作者很懒,什么都没留下…
展开
-
慢sql问题经验总结
导致性能慢的原因 SQL编写问题 锁 业务实例相互干扰IO/CPU资源争用 服务器硬件 MySql bug 由sql编写导致的慢sql优化 索引方面 字段类型转换导致索引失效。例如字符串类型的没有用引号,数字类型的用引号等情况。 mysql不支持函数转换。 最左前缀原则。 order by/group by字段包括在索引中减少排序,效率更高。。 不要使用select * or的查询尽量用union代替。 其他方面 尽量规避大事务的sql,会影响效率。最多不要超过3个表关联。 删除表所有记录用tru转载 2022-04-05 16:27:10 · 178 阅读 · 0 评论 -
数据库索引
索引 是数据库管理中的一个排序的数据结构,以协助快速查询和更新数据库表中的数据。 索引的数据结构和具体存储引擎的实现有关,在mysql中使用较多的索引有Hash索引、B+索引等。而我们经常使用的Innodb存储引擎的默认索引实现为B+索引。 索引是如何工作的? 首先明白为什么索引会增加速度。DB在执行一条sql语句的时候,默认方式是根据搜索条件进行全表扫描,遇到匹配条件的就会加入搜索集合,如果我们对某一字段增加索引,查询时就会先去索引列表中一次定位到特定值的行数,大大减少遍历匹配的次数,所以能明显增加查询速原创 2022-04-05 16:13:02 · 1160 阅读 · 0 评论 -
MySql的存储引擎
mysql存储引擎(进行读取和操作) MyIsAm(老)表锁 Innodb (新)行锁(注:或其他方式) MyIsAm存储引擎 组成结构 FRM→表数据结构 MYD→数据 MYI→索引(索引最大值存储在文件中,删除部分索引数据后,索引数仍为原始值) 特点 不支持事务 不支持外键 非聚簇索引 只缓存索引 容灾无备份 Innodb存储引擎 组成结构 FRM→表数据结构 IBD→数据+索引(索引最大值存储在内存中,删除部分索引数据后,索引数为新索引数) 特点 支持事务:4种隔离级别,默认可重复原创 2022-04-05 15:50:46 · 749 阅读 · 0 评论