在前面的文章中,我们已经能够掌握了SQL的基本使用。
但是,面对一下大数据量的场景,数据库的性能调优就至关重要了,因此,在本节中我们将会展开SQL性能优化的相关内容。
性能问题来源
首先,我们来了解一下如何了解一个数据库的使用过程中是否存在性能问题呢?
- 用户反馈:用户是我们的服务对象,因此他们的反馈是最直接的。
- 日志分析:查看数据库日志和操作系统日志等方式找出异常情况,通过它们来定位遇到的问题。
- 服务器资源使用监控:通过监控服务器的 CPU、内存、I/O 等使用情况,可以实时了解服务器的性能使用,与历史情况进行对比。
- 数据库内部状况监控:在数据库的监控中,活动会话(Active Session)监控是一个重要的指标。通过它,你可以清楚地了解数据库当前是否处于非常繁忙的状态,是否存在 SQL 堆积等。
数据库性能优化思路
- 选择适合的 DBMS;
- 优化表设计;
- 优化逻辑查询;
- 优化物理查询(优化索引逻辑);
- 使用 Redis 或 Memcached 作为缓存;
- 库级优化(如分库分表);