mysql统计类似SQL语句查询次数
生活随笔
收集整理的這篇文章主要介紹了
mysql统计类似SQL语句查询次数
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
mysql統計類似SQL語句查詢次數 vc-mysql-sniffer?工具抓取的sql分析。 1、先用shell腳本把所有enter符號替換為null,再根據語句前后的字符分隔語句 grep -Ev '# Time:|# User@Host' /tmp/tmp_vc_mysql.txt |sed 's/# Query_time.*/myxxxxx/g' |awk BEGIN{RS=EOF}'{gsub(/\\n/," ");print}'|awk BEGIN{RS=EOF}'{gsub(/myxxxxx/,"\\n");print}' 2、python實現替換無關字符串?vim analyze_sql.py #!/usr/bin/python #coding:utf8 # python analysis-vc-log.py 3315 | sort | uniq -c | sort -nr |head -n 10 import re import sys import os import commands if len(sys.argv) == 2: logPath = sys.argv[1] if not os.path.exists(logPath): print ("file " + logPath + " does not exists.") sys.exit(1) else: print ("Usage: " + sys.argv[0] + " logPath") sys.exit(1) logFo = open(logPath) for line in logFo: line = re.sub(r"\n","",line) lineMatch = re.match(r".*",line,re.IGNORECASE) if lineMatch: lineTmp = lineMatch.group(0) # remove extra space 把多個空格的替換成一個空格 \s+ 表示空格至少出現一次 lineTmp = re.sub(r"\s+", " ",lineTmp) # replace values (value) to values (x) \s*表示有0或多個空格, .*表示匹配除了換行外任意多次, ?為非貪婪模式 lineTmp = re.sub(r"values\s*\(.*?\)", "values (x)",lineTmp) # replace filed = 'value' to filed = 'x'??s*('|\")表示匹配單引或雙引0或多次 \2表示應用第二個(...)分區,即 ('|\")??\\1可以寫成r"\1" 其實只是\<number> 。表示應用第一個分組 (=|>|<|>=|<=) lineTmp = re.sub(r"(=|>|<|>=|<=)\s*('|\").*?","\\1 'x'",lineTmp) # replace filed = value to filed = x??s*??匹配0或多個空格??[0-9]+ 匹配一個或多個數字 lineTmp = re.sub(r"(=|>|<|>=|<=)\s*[0-9]+","\\1 x",lineTmp) # replace like 'value' to like 'x' lineTmp = re.sub(r"like\s+('|\").*?","like 'x'",lineTmp) # replace in (value) to in (x)???(.*?\) 匹配括號內的任意內容 lineTmp = re.sub(r"in\s+\(.*?\)","in (x)",lineTmp) # replace between '...' and '...' to between 'x' and 'x' lineTmp = re.sub(r"between\s+('|\").*?\1\s+and\s+\1.*?\1","between 'x' and 'x' ",lineTmp) # replace between ... and ... to between x and x lineTmp = re.sub(r"between\s+[0-9]+\s+and\s+[0-9]+","between x and x ",lineTmp)???? # replace limit x,y to limit lineTmp = re.sub(r"limit.*","limit",lineTmp) print lineTmp logFo.close() 3?執行?python?analyze_sql.py?tmp_vc_mysql.txt
轉載于:https://www.cnblogs.com/vansky/p/8269670.html
總結
以上是生活随笔為你收集整理的mysql统计类似SQL语句查询次数的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 9.5 用算法和数学奠定专业基础——《逆
- 下一篇: win10+Ubuntu18.04.2双