如题线上数据库通常 会启用一些TRACE 用来记录:慢查询(1秒以上),死锁,DML语句 及高IO开效语句 这些TRACE 是定义在一个里面 ,还是分开多个TRACE两种方法哪个性能更好点?我的理解是:
分开写比较容易分类。。用到慢查询的就去找慢查询的 用到锁的时候去找锁
这样肯定方便些
但是同一个库中开了好几个跟踪是否更加影响性能?盼高手给个答案头一次发帖求答案,给100分。。欢迎高手答案,也欢迎大家讨论
分开写比较容易分类。。用到慢查询的就去找慢查询的 用到锁的时候去找锁
这样肯定方便些
但是同一个库中开了好几个跟踪是否更加影响性能?盼高手给个答案头一次发帖求答案,给100分。。欢迎高手答案,也欢迎大家讨论
把 .TRC 文件放到跟数据文件不同磁盘。。而且只捕捉指定ID的TRACE,负载很轻,你可以试一下。。
问题来了:因为不同事件的列不同
比方说DEADLOCK 需要记的只有5,6列 而 RPC COMPLETE 需要记录的是另外10几列这些列有些重复有些不重复如果放到一张二维表中的话 最终的结果可能是 一个 20,30列的一张大表那么 TRC 文件如果是按表格方式记录的话 文件大小会增加明显(原因可参考大家常见的拆表操作)文件增大意味着更多的IO负载合在一处说不定不如分开写性能好(推理的结果,未测试)
个人认为开多个trace要比综合在一起对服务器影响更小,印象中在一本书上也有看过。