MySQL调优与8.0新特性
阅读全文...
为什么不建议使用多表join?
最主要的原因就是join的效率比较低 MySQL是使用了嵌套循环(Nested-Loop Join)的方式来实现关联查询的,就是要通过两层循环,用第一张表做外循环,第二张表做内循环,外循环的每一条记录跟内循环中的记录作比较,符合条件的就输出。<!-...
阅读全文...
阅读全文...
MySQL优化 查询&索引&表结构设计&事务和锁机制&配置&EXPLAIN
在企业级 Web 开发中,MySQL 优化是至关重要的,它直接影响系统的响应速度、可扩展性和整体性能。下面从不同角度,列出详细的 MySQL 优化技巧,涵盖查询优化、索引设计、表结构设计、配置调整等方面。一、查询优化合理使用索引单列索引:为查询频繁的字段...
阅读全文...
阅读全文...
MySQL慢查询排查
日常开发中,我们经常会遇到数据库慢查询。那么导致数据慢查询都有哪些常见的原因呢?今天田螺哥就跟大家聊聊导致MySQL慢查询的12个常见原因,以及对应的解决方法。<!--more-->1. SQL没加索引很多时候,我们的慢查询,都是因为没有加索...
阅读全文...
阅读全文...
一次SQL查询优化原理分析:900W+数据,从17s到300ms
有一张财务流水表,未分库分表,目前的数据量为9555695,分页查询使用到了limit,优化之前的查询耗时16 s 938 ms (execution: 16 s 831 ms, fetching: 107 ms),按照下文的方式调整SQL后,耗时347...
阅读全文...
阅读全文...
mysql 锁 Lock wait timeout exceeded 该如何处理?
Mysql造成锁的情况有很多,下面我们就列举一些情况:执行DML操作没有commit,再执行删除操作就会锁表。在同一事务内先后对同一条数据进行插入和更新操作。表索引设计不当,导致数据库出现死锁。长事物,阻塞DDL,继而阻塞所有同表的后续操作。但是要区分的...
阅读全文...
阅读全文...