23、10+ SQL执行性能不佳的真实案例(上)

你好,我是俊达。 在第二章 SQL优化篇的前面几讲中,我们比较系统地学习了MySQL中SQL优化的基础知识,包括索引访问的原理、优化器成本模型、表连接的几种算法、表连接顺序的计算、子查询的优化策略。在这一讲里,我整理了工作中遇到过的十多种不同类型的S...

MySQL运维实战课

24、10+ SQL执行性能不佳的真实案例(下)

你好,我是俊达。这节课我们继续看剩下的几个案例。 案例七:优化or查询的另一个例子下面是另一个在where中使用了or的例子,这个SQL的性能非常差,需要将3个表的数据全部关联起来。 1234567SELECT t_msg.msg_id,t_msg....

MySQL运维实战课

25、数据库无法启动,如何读取InnoDB文件中的数据(上)

你好,我是俊达。这一讲我们来了解下InnoDB的物理存储格式。 了解物理存储格式有什么作用呢?有时,由于系统表空间或其他物理文件损坏,数据库可能无法启动,即使设置了参数innodb_force_recovery还是无法启动。有时,由于误操作把表DRO...

MySQL运维实战课

26、数据库无法启动,如何读取InnoDB文件中的数据(下)

你好,我是俊达 这一讲中,我们接着上一讲的内容,介绍InnoDB中B+树的物理结构,以及InnoDB管理数据文件的一些数据结构。 先创建一个测试表,写入一些数据。 123456789101112131415CREATE TABLE t_btree (...

MySQL运维实战课

27、InnoDB Buffer Pool 如何提高数据库性能(上)

你好,我是俊达。 从前两讲中,我们知道了InnoDB表和索引的物理存储格式。执行Select语句的时候,最终会从ibd文件中获取数据,执行Insert/Update/Delete语句的时候,最终会将数据写入到ibd文件。读取或修改...

MySQL运维实战课

28、InnoDB Buffer Pool如何提高数据库性能(下)

你好,我是俊达。 上一讲的思考题中,我留了一个问题,就是删除表或索引时,表或索引已经缓存在Buffer Pool中的数据要怎么处理。实际上处理的方式跟表的类型(是普通表还是临时表,是否使用per-table)以及操作类型有关,还跟MySQL的版本有关...

MySQL运维实战课
1345679