前几天,为了超出一个问题的原因,我建议他打开了sql_trace,运行了一段时间,产生了几万个trace文件。如何从这几万个trace中找出需要的信息成了一个大问题。这里,我写了一个shell脚本,希望可以帮他解决问题。
[root@test]# ls
a.txt b.txt c.txt d.txt e.txt
[root@test]# ls|xargs grep -iE 'insert |update |select |delete ' |tr
"[A-Z]" "[a-z]"|sed 's/^.*select /select /g'|sed 's/^.*update /update
/g'|sed 's/^.*delete /delete /g'|sed 's/^.*insert /insert /g'|sort
|uniq -c |sort -gr
2 select * from t3;
2 select * from t1;
2 delete from a
1 update k where
1 update a from t;
1 select * from t2;
1 select * from t;
1 select * from aa;
1 delete b;
这个脚本得出列出的文件中所有执行过的sql及执行次数。
对这个脚本简单修改可以用来提取其他有用的信息,例如可以从tomcat的log中提取sql等。
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/231499/viewspace-63801/,如需转载,请注明出处,否则将追究法律责任。