分享Mysql优化思路


本文摘自PHP中文网,作者藏色散人,侵删。

一、总体优化思路

首先构建脚本观察查询数,连接数等数据,确定环境原因以及内部SQL执行原因,然后根据具体原因做具体处理。

推荐:《mysql视频教程》

二、构建脚本观察状态

1

mysqladmin -uroot -p  ext \G

该命令可获取当前查询数量等信息,定时轮询并将结果重定向到文本中,然后处理成图表。

三、处理对策

1.若是规律性出现查询慢,考虑缓存雪崩问题。

对于该问题只需将缓存的失效时间处理成不要相近时间同时失效,失效时间尽量离散化,或者集中到午夜失效。

2.若非规律性查询缓慢,考虑设计缺乏优化

处理方法:

a:开启profiling记录查询操作,并获取语句执行详细信息

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

show variables like '%profiling%';

set profiling=on;

select count(*) from user;

show profiles;

show profile for query 1;

>>>

+--------------------------------+----------+

| Status                         | Duration |

+--------------------------------+----------+

| starting                       | 0.000060 |

| Executing hook on transaction  | 0.000004 |

| starting                       | 0.000049 |

| checking permissions           | 0.000007 |

| Opening tables                 | 0.000192 |

| init                           | 0.000006 |

| System lock                    | 0.000009 |

| optimizing                     | 0.000005 |

| statistics                     | 0.000014 |

| preparing                      | 0.000017 |

| executing                      | 0.001111 |

| end                            | 0.000006 |

| query end                      | 0.000003 |

| waiting for handler commit     | 0.000015 |

| closing tables                 | 0.000011 |

| freeing items                  | 0.000085 |

| cleaning up                    | 0.000008 |

+--------------------------------+----------+

b:使用explain 查看语句执行情况,索引使用,扫描范围等等

阅读剩余部分

相关阅读 >>

mysql的增删改查常用语法

怎么用mysql打开数据库

mysql索引命中规则讲解

mysql5.5怎么安装

mysql怎么导出数据

mysql中的布尔值,怎么存储false或true

windows如何启动mysql

mysql5.7.33安装过程图文详解

mysql如何手动获取自增主键

mysql数据库绿色版出现系统错误1067怎么办?

更多相关阅读请进入《mysql》频道 >>


数据库系统概念 第6版
书籍

数据库系统概念 第6版

机械工业出版社

本书主要讲述了数据模型、基于对象的数据库和XML、数据存储和查询、事务管理、体系结构等方面的内容。



打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...