摘要: 从MySQL5.6开始,可通过trace文件进一步获取优化器是如何选择执行计划的,在使用时需要先打开设置,然后执行一次SQL,最后查看information_schema.optimizer_trace表的内容,该表为联合i表,只能在当前会话进行查询,每次查询后返回的都是最近一次执行的SQL语句。 阅读全文
posted @ 2021-07-08 23:57 Eleanor123 阅读(133) 评论(0) 推荐(1) 编辑
摘要: 通过show profile可以分析SQL语句性能消耗,例如查询到SQL会执行多少时间,并显示CPU、内存使用量,执行过程中系统锁即表锁的花费时间等信息。例如show profile cpu/memory/block IO for query n分别查询id为N的SQL语句的CPU、内存以及IO的消 阅读全文
posted @ 2021-07-08 23:53 Eleanor123 阅读(78) 评论(0) 推荐(1) 编辑
摘要: 1、建立索引 对查询频次比较高且数据量比较大的表建立索引。索引字段的选择,最佳候选列应当从where子句的条件中提取,如果where子句中的组合比较多,应当挑选最常用,过滤效果最好的列的组合。业务上具有唯一特性的字段,即使是多个字段的组合,也必须建成唯一索引。 2、使用前缀索引 索引列开始的部分字符 阅读全文
posted @ 2021-07-08 23:46 Eleanor123 阅读(537) 评论(0) 推荐(1) 编辑
摘要: (1)在主库上把数据更改记录到二进制日志中。 每次准备提交事务完成数据更新前,主库将数据更新的事件记录到二进制日志中。MySQL会按事务提交的顺序而非每条语句的执行顺序来记录二进制日志,在记录二进制日志后,主库会告诉存储引擎可以提交事务了。 (2)备库将主库的日志复制到自己的中继日志中。 备库首先启 阅读全文
posted @ 2021-07-08 00:08 Eleanor123 阅读(81) 评论(0) 推荐(1) 编辑