我现在有个数据库,大小10G。
我想观测下数据库的性能,建立一个跟踪,这时往数据库中插入20000条记录,用时8分钟。
但我关闭跟踪,再插入20000条记录,用时6分钟多,两次是同一个表。
不知道为什么会这样,请高手解释。
非常感谢。

解决方案 »

  1.   

    启动任何一个程序,都会占有服务器的资源(如:内存和CPU等),和这个有关.至于是否会影响数据库的性能?这还真不好回答.
      

  2.   

    我的数据库服务器配置比较高,内存和cpu的影响应该不会这么明显吧
      

  3.   

    启用tracer会开启额外的进程 对于活动度较高的数据库 会有相应的系统触发器记录任何一条外部动作 效率是要大打折扣的 但我认为 显示在tracer里的内容是100%从内存读取 保存在硬盘是用户稍后的选择 而且突破设定的buffer之后也会截断的 所以不认为这个是导致性能骤降的主要原因
      

  4.   

    其实占的都是操作系统的资源,并不是数据库的资源
    跟踪是及时写入文件的,要知道跟踪的信息很不大的,如果跟踪一天跟踪文件有1G一点都不夸张,要都保存在内存中那是要死人的,这个文件其实是保存在一个temp文件夹中选择保存的时候是直接从这个临时文件写入.trc跟踪文件或者是选择的数据库某表中