数据库优化的目标,说白了就是让你的系统跑得更顺溜,响应更快,资源更省。Oracle 数据库的话,重点就是两个:减少等待、提高命中率。你写 SQL 时,能少扫点数据块就少扫,最好能让热数据都在内存缓存里,访问起来贼快。

像命中率这些东西,多人一开始不太在意,其实挺关键的。命中率高了,IO 就少了,性能自然就上来了。想搞清楚命中率怎么计算、怎么调优,可以看看Oracle 命中率详解这篇文章,里面讲得还蛮实在的。

除了数据库本身优化,缓存系统也别忘了,比如memcache。有时候你数据库调得再好,前端求量一大,没缓存还是顶不住。推荐你看看memcache 命中率计算工具,用起来挺方便的。

还有就是吞吐量这个事,你做高并发系统时会遇到。想了解怎么提升吞吐,可以从Apache Kafka的流架构学点思路,灵活运用到数据库设计上。

,优化这事儿没绝对标准,得结合业务、SQL 结构、读写比例慢慢调。如果你平时老觉得 SQL 跑得慢,或者 CPU 忽高忽低,嗯,那就该看看SQL 优化和命中率这块了。