一般是由于:网络耗时+应用耗时+数据库耗时
数据库方面的耗时:
1、数据库的连接数配置
select * from information_schema.`PROCESSLIST`
2、查询数据库的连接数
select count(0) from information_schema.processlist;
3、查询数据库的线程以及ip
show full processlist;
4、检查索引
Show index from 表名;或数据库的界面,表设计
5、查看慢查询是否开启
HOW VARIABLES like '%slow%';---------------------如果是ON代表是开启的
6、查看慢查询现在设置的是多少毫秒
查看慢查询现在设置的是多少毫秒,才打印出来到慢查询日志,一般默认的是1秒,有时候需要根据自己的需要需要设置一下,例如10毫秒就打印慢查询日志
SHOW GLOBAL VARIABLES LIKE '%long%';
7、查询慢日志路径
注:如果有慢查询时间大于设置的0.01秒的就会打印出来,在红框里显示这样一个文件,slow_query_log_file,以及后边Value的值跟路径,从结果可以看是没有打印出来慢日志,可能就是没有大于0.01秒的sql语句
8、通过explain查看sql语句类型
EXPLAIN SELECT * FROM queup_flw
注:type是all的一般比较慢,如果是const的是比较快
9、数据库中的慢查询生成的慢日志
/home/mysql/data/mysqldata1/slowlog/slow-query.log
一般路径是/home/mysql/data/.../slow_query.log
DB2响应耗时问题:
//数据库sql耗时查询
select * from sysibmadm.top_dynamic_sql order by average_execution_time_s desc fetch first 1000 rows only
//查看表空间
select char(TBSP_NAME,50) as TBSP_NAME, TBSP_USABLE_PAGES, TBSP_USED_PAGES,
rtrim(100*TBSP_USED_PAGES/TBSP_USABLE_PAGES)||'%' as USED_RATE from sysibmadm.SNAPTBSP_PART where
TBSP_USABLE_PAGES>0 order by TBSP_NAME,DBPARTITIONNUM