数据库优化:数据库性能优化相关知识笔记

SQL语句
365
0
0
2022-03-28
标签   SQL优化

数据库优化:数据库性能优化相关知识笔记


数据库优化主要有SQL语句优化、表设计优化、索引维护和改进、硬件设备改进等四个方面。

1、SQL语句优化

SQL语句优化主要是找出那些频繁执行的SQL查询语句进行进行优化。常用的优化策略如下:

  • 尽可能减少多表查询或建立物化视图
  • 用不相关的的子查询代替相关子查询
  • 只检索需要的列
  • 用IN的条件子句等价替换OR子句
  • 经常提交commit,以尽早释放锁。

2、表设计优化

在数据库表设计阶段,应当符合3NF或BCNF,目的是为了减少数据冗余、消除操作异常。在数据库系统运行过程中,需要根据实际情况对数据表进行改进。需要遵循下面三个原则:

  • 频繁的访问是对两个相关的表进行连接操作时,应该考虑进行合并。
  • 如果频繁的访问只是在表中的某一部分字段上进行,需要考虑分解表,将该部分单独作为一个表。
  • 对于更新很少的表,引入物化视图。物化视图是一种特殊的物理表。

3、索引维护和改进

数据库运行期间,数据库系统管理员必须对数据库的索引进行维护和改进。因为用户频繁对数据进行增加、删除、修改等操作使得索引页产生碎片,需要DBA对索引进行维护。可以针对具体的情况,对系统中的索引进行改进以提高性能,即可以适当地调整索引。索引调整要遵循下面四个原则:

  • 如果查询操作时瓶颈,则需要在关系上建立合适的索引,通常会在查询条件的属性列建立索引,提高查询效率。
  • 如果更新操作是瓶颈,每次更新都会重建表上的索引,引起更新操作效率降低,则可以考虑删除某些不是特别重要的索引。
  • 选择适合的索引类型,如果经常使用范围查询,则B树索引比散列索引更高效。
  • 将有利于大多数查询和更新的索引设定为聚簇索引。

4、硬件设备改进

数据库系统运行过程中,如果经过各种优化调整手段,仍然不能满足性能要求时,可以考虑适当增强硬件设备。比如引入高性能服务器、增加服务器系统内存、高速存储设备等方面。这个需要考虑设备的成本,综合考虑产出和收益比,另外还需要说服决策者同意。