如果你在提高MySQL的性能上花费太多时间,容易使视野局限在MySQL本身。
一叶障目也!!!
回过头来看,也许可以意识到,或许MySQL已经足够优化了,我们应该取关注其他的部分,那么我们常犯的问题有哪些呢(展示给面试官你的思路的时机来了),请往下看,
1、什么东西再消耗系统中每台主机的CPU、磁盘、网络、内存资源?
这些值是否合理?
如果不合理,对应于程序做基本的检查,看什么占用了资源。
配置文件通常是解决问题最简单得方式。
如果Apache 因为创建 1000个需要 50MB内存的工作进程导致内衣溢出,就可以配置应于程序少使用一些Apache工作进程。也可以配置每个进程少使用一些内存。
2、应用真的需要所有获取到的数据吗?
获取1000行数据但是显示10行,而丢弃声息的990行,这是常见的错误。
(如果应用程序缓存了另外的990行备用,这也许是有益的优化)
3、应用在处理本应由数据库处理的事情吗?或者反过来?
这里有两个例子,从表中获取所有的行在应用中进行统计计数,或者在数据库中执行复杂的字符串操作。
数据库擅长统计计数,而应用擅长正则表达式。
要善于使用正确的工具来完成任务。
工欲善其器必先利其器!!!
4、应用执行了太多的查询?
ORM宣称吧程序员从写SQL中解放出来的语句接口通常是罪魁祸首。(hibernate :
文章评论