3.3.4 对数据库性能进行优化

3.3.4 对数据库性能进行优化

随着公司的发展,员工越来越多,业务越来越复杂,人事系统运行得也越来越慢。这严重影响了工作效率,希望DBA可以进行相关的优化工作。

经过对人事系统的监控,我们发现与人员表(EMP)相关的操作比较缓慢,人事系统存在性能问题,我们需要在人员表(EMP)上创建索引来提升系统性能。根据分析,我们在员工姓名列(EMPOLYEE_NAME)查询的比较多,所以在其上创建相关的索引来提升系统性能。例如:

在EMP(EMPLOYEE_ID)上创建索引EMP_IND。

(1)使用管理工具创建索引。新建索引、设置索引相关信息、显示新建索引分别如图3-19、图3-20、图3-21所示。

图3-19 新建索引

图3-20 设置索引相关信息

图3-21 显示新建索引

(2)使用SQL语句创建索引:

创建索引EMP_IND后,查询EMP表的执行计划和执行时间。

可以看出创建索引EMP_IND后,SQL语句select employee_id,employee_name,email from emp.EMP where employee_id<20的执行计划有所改变,执行时间也由1.750 ms变为1.590 ms,SQL查询性能有所提高。由于数据是测试数据,数据量不大(868条记录),因此性能提升不明显。

由于人事系统数据量增大,数据缓冲区(buffer区)已经不够用,需要扩大buffer区。

查询buffer区大小如图3-22所示。

图3-22 查询buffer区大小

目前buffer区大小为304 MB(达梦数据库参数单位默认为M)。利用sp_set_para_value过程对参数进行修改:

重启服务后再查询buffer区大小,发现buffer区大小为1024 MB。buffer区扩充完成,如图3-23所示。

图3-23 重启服务后再查询buffer区大小