Bootstrap

使用python编写脚本统计sql执行时间

这两天测试的时候,需要测几十个sql语句的执行时间,一个个的去navicat中执行并统计太麻烦,就把这几十个sql放到excel中,写了个简单的python脚本去统计他的执行时间,并将执行结果保存到以每个sql的id为文件名的csv文件中以便查看

import xlrd
import pymysql
import time

#读excel中的sql
file_path=r’E:\x’x’x\rule_run.xlsx’
data=xlrd.open_workbook(file_path)
table=data.sheet_by_name(‘rule_run’)
nrows=table.nrows
ncols=table.ncols
col_values=table.col_values(1)

#连接数据库
conn=pymysql.connect(host=‘127.0.0.1’,port=3306,user=‘root’,passwd=‘123456’,db=‘SEC’)
cursor=conn.cursor()
cursor = conn.cursor(cursor=pymysql.cursors.DictCursor)

#循环去读每一行中的sql并执行,统计其执行时间和执行结果
i=0
for i in range(nrows):
ids=table.cell(i,0).value
sqls=table.cell(i,1).value
print(ids)
time1=time.time()
cursor.execute(sqls)
time2=time.time()
times=time2-time1
sheet.write(i,2,times)
result=cursor.fetchall()
print(result)
result_path=“E:\xxx\”+str(ids)+".csv"
fp=open(result_path,“w”,encoding=‘utf-8’)
fp.write(str(result)+’\n’)
fp.close
print(times)

;