转载别人论坛的评论:
1.如果是你,你怎么处理慢查询引起的问题,并且在以后避免这种情况发生?
对于MySQL的慢查询问题,通常我们是这么干的:1)开启MySQL服务器的慢查询记录功能
mysql> set global slow_query_log=ON;
mysql> show variables like "slow%";
+---------------------+------------------------------------+
| Variable_name | Value |
+---------------------+------------------------------------+
| slow_launch_time | 2 |
| slow_query_log | ON |
| slow_query_log_file | /opt/mysql/data/sql-slow.log |
+---------------------+------------------------------------+
3 rows in set (0.00 sec)
2)出现慢查询问题后,查看慢查询日志/opt/mysql/data/sql-slow.log
3)分析具体的问题,进行相应的处理。
2.除了慢查询,还有哪些情况会导致MySQL卡顿,查询较慢?
导致MySQL缓慢的因素有很多。比如:
1)DB数据模型设计不佳,长期运行后缓慢;
2)MySQL未做优化
比如默认的max_connections是150,可根据实际情况调整
又比如innodb_buffer_pool_size的设置,MySQL的优化点有很多
3)Linux服务器OS未做优化:内核参数、网络参数都需要根据实际情况调优
比如打开文件数,默认是1024,不能不优化
4)MySQL服务器的硬件可作优化:存储采用SSD等
5)网络带宽因素等
3.针对于数据库优化,您有哪些比较实用的建议和想法?
对于MySQL数据库的优化,可以跟随Percona的脚步,他们的优化做得非常好。
MariaDB也可以考虑。
4.结合生产环境,您觉得MySQL,较于PG NOsql DB2 Sybase MongoDB Oracle等数据库来,他的优点在哪?在什么情况下你会使用其它类型的DB
相比PG NOsql DB2 Sybase MongoDB Oracle等数据库,MySQL稳定、免费、易用,使用它可以减少开发时间,而且它也靠得住。
5.如果您是数据库的设计者,您会去怎么设计数据库的引擎和结构?
这方面没做过。对于MySQL引擎,一般我选择InnoDB引擎或者是XtraDB引擎,并做好优化即可。
未做深入。