如果你在提高MySQL的性能上花费太多时间,容易使视野局限在MySQL本身。

一叶障目也!!!

回过头来看,也许可以意识到,或许MySQL已经足够优化了,我们应该取关注其他的部分,那么我们常犯的问题有哪些呢(展示给面试官你的思路的时机来了),请往下看,

1、什么东西再消耗系统中每台主机的CPU、磁盘、网络、内存资源?

这些值是否合理?

如果不合理,对应于程序做基本的检查,看什么占用了资源。

配置文件通常是解决问题最简单得方式。

如果Apache 因为创建 1000个需要 50MB内存的工作进程导致内衣溢出,就可以配置应于程序少使用一些Apache工作进程。也可以配置每个进程少使用一些内存。

2、应用真的需要所有获取到的数据吗?

获取1000行数据但是显示10行,而丢弃声息的990行,这是常见的错误。

(如果应用程序缓存了另外的990行备用,这也许是有益的优化)

3、应用在处理本应由数据库处理的事情吗?或者反过来?

这里有两个例子,从表中获取所有的行在应用中进行统计计数,或者在数据库中执行复杂的字符串操作。

数据库擅长统计计数,而应用擅长正则表达式。

要善于使用正确的工具来完成任务。

工欲善其器必先利其器!!!

4、应用执行了太多的查询?

ORM宣称吧程序员从写SQL中解放出来的语句接口通常是罪魁祸首。(hibernate :