OLTP性能调优¶
可以从以下几个方面提高OLTP性能。
- 日志回刷时机配置
- 脏读隔离级别
- 线程池
日志回刷时机配置¶
事务提交时立即回刷事务的日志对数据库的性能有一定的影响。事务结束时跳过日志回刷过程,未回刷的日志由回刷线程自动回刷或做检查点时强制回刷,可以提高数据库性能,但如果在日志未回刷到硬盘之前数据库非正常关闭,可能会导致数据丢失或损坏。
参数ENABLE_FLUSHLOG_AT_COMMIT可用于设置事务提交后是否立即回刷日志;设置ENABLE_FLUSHLOG_AT_COMMIT为FALSE时,事务提交后不立即回刷日志。在数据重要性不高的场景下,可设置事务提交时不立即回刷日志,以提高数据库性能。
脏读隔离级别¶
脏读隔离级别下,事务间读写操作不冲突,可大幅提高数据库的读写性能。
可通过设置数据库参数DEFAULT_TRANSACTION_ISOLATION为'read uncommitted'来指定脏读隔离级别。