测试sql 语句执行时间

#-*-coding:utf-8-*-

import sys
import os
import time
import traceback
import MySQLdb as sqldb
from log import tracelog

query_list = [
"select count(*) from T_FieldInfo,T_FamTableDescInfo,T_DataEleDesc;",            
]

def getconn():
    host = ‘10.1.81.164‘
    user = ‘db_user‘
    passwd = ‘db_passwd‘
    dbname = ‘db_name‘
    return sqldb.connect(host,user,passwd,dbname)

def query_time(cursor,query):
    cursor.execute("flush hosts;")
    time.sleep(10)
   
    begintime = time.time()
    cursor.execute(query)
    endtime = time.time()
    spantime = endtime - begintime
    note = "sql:%s  spantime:%s" %(query,str(spantime))
    return note

def openmysqport():
    strcmd=r‘plink [email protected]%s -pw %s "iptables -D INPUT -i bond1 -p tcp --dport 3306 -j DROP " ‘ %(‘10.1.81.164‘,‘root_passwd‘)
    os.system(strcmd)

def main():
    tracelog.setLogFileName(r"./query_time_st.txt")
    tracelog.log("======sql test begin==========")
   
    try:
        conn = getconn()
        cursor = conn.cursor()
        for query in query_list:
            qnote = query_time(cursor,query)
            tracelog.log(qnote)
    except:
        expmsg = ‘‘.join(traceback.format_exception(*sys.exc_info()))
        tracelog.log(expmsg)
    finally:
        cursor.close()
        conn.close()
       
    tracelog.log("======sql test end==========")

if __name__ == ‘__main__‘:
    main()

时间: 2024-10-09 14:11:03

测试sql 语句执行时间的相关文章

数据库之测试sql语句效率

在写sql语句的时候发现,对于想要的结果通常有好多中实现方法.当面对这些实现方法的时候要如何选择才是相对来说最优的呢?这就引出了这篇博客的主题,如何测试sql语句的效率 下面介绍几种sql语句测试效率的方法,大多数是从网上查找的,然后再一一测试了一下.最后我自己做了一个重新的整理. 1. 测试sql语句执行时间的方法,获得查询前后时间差 declare @begin_date datetime declare @end_date datetime select @begin_date = get

查看SQL语句执行时间与测试SQL语句性能

查看SQL语句执行时间与测试SQL语句性能 写程序的人,往往需要分析所写的SQL语句是否够优化.是否能提升执行效率,服务器的响应时间有多快,这个时候就需要用到SQL的STATISTICS状态值来查看了. 通过设置STATISTICS我们可以查看执行SQL时的系统情况.选项有PROFILE,IO ,TIME.介绍如下: SET STATISTICS PROFILE ON:显示分析.编译和执行查询所需的时间(以毫秒为单位). SET STATISTICS IO ON:报告与语句内引用的每个表的扫描数

如何测试sql语句性能,提高执行效率

有时候我们经常为我们的sql语句执行效率低下发愁,反复优化后,可还是得不到提高 那么你就用这条语句找出你sql到底是在哪里慢了 示例: SET STATISTICS io ON        SET STATISTICS time ON        go         ---你要测试的sql语句         select top 100 * from TBL_Cot_RecStaticList        go        SET STATISTICS profile OFF    

loadrunner测试sql语句性能

最初的想法是是想通过录制在SQL Server2008的操作来着的,无奈试了即便都录不到查询的sql语句,网上查资料全是关于SQL 2000的(这部分有经验的欢迎指教). 于是只能通过直接调用loadrunner本身的function来实现sql语句的性能测试.主要用到的是lr_db_connect和lr_db_executeSQLStatement两个函数,具体的用法这里不做解释,请自行查看loadrunner的帮助说明. 下面进入正题.在函数lr_db_connect的帮助说明中有句“Imp

如何在python文件中测试sql语句

在manage.py的同级目录下新建一个run.py import os if __name__ == '__main__': #加载Django项目的配置信息 os.environ.setdefault("DJANGO_SETTINGS_MODULE","myblog.settings") #导入Django,并启动Django项目 import django django.setup() #导入相应的models from person import model

查看sql语句执行时间/测试sql语句性能

写程序的人,往往需要分析所写的SQL语句是否已经优化过了,服务器的响应时间有多快,这个时候就需要用到SQL的STATISTICS状态值来查看了. 通过设置STATISTICS我们可以查看执行SQL时的系统情况.选项有PROFILE,IO ,TIME.介绍如下: SET STATISTICS PROFILE ON:显示分析.编译和执行查询所需的时间(以毫秒为单位). SET STATISTICS IO ON:报告与语句内引用的每个表的扫描数.逻辑读取数(在高速缓存中访问的页数)和物理读取数(访问磁

查看SQL语句执行时间

1:通过设置STATISTICS我们可以查看执行SQL时的系统情况.选项有PROFILE,IO ,TIME. 介绍如下: SET STATISTICS PROFILE ON:显示分析.编译和执行查询所需的时间(以毫秒为单位). SET STATISTICS IO ON:报告与语句内引用的每个表的扫描数.逻辑读取数(在高速缓存中访问的页数)和物理读取数(访问磁盘的次数)有关的信息. SET STATISTICS TIME ON:显示每个查询执行后的结果集,代表查询执行的配置文件. 使用方法: 打开

查看mysql中sql语句执行时间

查看mysql版本:select version();方法一: show profiles.1. Show profiles是5.0.37之后添加的,要想使用此功能,要确保版本在5.0.37之后.   查看方法: show variables like "%pro%";(查看profiling是否开启) 设置开启方法: set profiling = 1; 可以开始执行一些想要分析的sql语句了,执行完后,show profiles:即可查看所有sql的总的执行时间. show pro

使用Profiles分析SQL语句执行时间和消耗资源

打开profiling,默认是没开启的. mysql> set profiling=1; 执行要分析的SQL语句 mysql> select count(1) from wechat_employee,Employee; 显示profiles表 mysql> show profiles; 查询结果: +----------+------------+-----------------------------------------------+ | Query_ID | Duration