当心空无一物,它便无边无涯。树在。山在。大地在。岁月在。我在。你还要怎样更好的世界?——张晓风《我在》
为什么要写这个内容?
随着工作经历的积累,越来越感觉到,大量的关系型数据库的性能问题,其根源在于统计信息。这里说的是根源,其实很多时候大家觉得的那些什么索引失效等都只是表象。当然,不能一概而论,还有很多问题如配置问题、设计问题等等,甚至电源也会影响性能。
之所以得出这个结论,因为在常规的开发和部署过程中,一般企业级系统已经大量使用较为高级的磁盘阵列甚至企业级SSD,IO方面的问题已经很少,而且关系数据库的理论发展跟不上硬件发展的速度,所以硬件性能问题带来的系统级别的性能问题已经很少了。
而数据库设计方面的问题,当然也是很重要的,但是对于一个用了几年的系统来说,修修补补也差不多了。
对于编码问题,其实跟索引合起来会比较好,很多时候不是索引有问题,而是你的写法导致了优化器没有用上索引。另外如果是索引问题(没有索引、有索引但没用上、索引过多等),可以看一下我另外两篇索引相关的文章:
1.