mysql数据库调优 面试_面试-MySQL篇:数据库调优

今天谈谈 MySQL 的调优问题,比较偏项目实战。面试中也喜欢问 “xxx如何优化”的问题,这类问题相对开放,一不小心就变成了送命题,但是风险与机遇并存,假如你能理论结合项目经验给出一个漂亮的回答,让面试官眼前一亮,那么马上你就脱颖而出了。

下面我给出了几个面试中常问的问题,你可以结合你的项目经验,一起来试试如何回答这类问题。

1. 日常是怎么优化 SQL 的?

通过慢查询日志、EXPLAIN 分析查询、show profile 分析、以及 show 命令查询系统状态及系统变量。

Mysql> show status   ——显示状态信息(扩展show status like "XXX")Mysql> show variables   ——显示系统变量(扩展show variables like 'XXX')Mysql> show innodb status ——显示InnoDB存储引擎的状态Mysql> show processlist ——查看当前SQL执行,包括执行状态、是否锁表等Shell> mysqladmin variables -u username -p password ——显示系统变量Shell> mysqladmin extended-status -u username -p password ——显示状态信息

2. SQL 优化的一般步骤,如何定位性能瓶颈?

先分析数据库系统资源是否达到瓶颈,如:平均负载、CPU、I/O 次数、连接数、QPS 吞吐量。

如果是查询性能问题,则优先看是否有慢查询,频繁查询的字段是否有建立索引,是否索引实效导致全表扫描,索引是否过大导致查询效率降低,表数据量是否过大(需要分库分

你可能感兴趣的:(mysql数据库调优,面试)