数据库性能问题排查
2018-06-17 19:49:01来源:未知 阅读 ()
一个项目的运行,总伴随着性能问题,系统查询过慢,如何快速查询等
下面将简单讲解一下,如何去排查及解决这些问题。
开发过程中:
1:不要绝对的三范式,适当建立冗余能够提高查询速度,不用多表关联
2:能用表关联就不要出现循环SQL
例子:下面的这种情况,每查出T_t1的一条数据,就会循环查找T_t2中的数据,使表关联的索引失效,造成反应慢。
--错误示范 SELECT A,B,(SELECT C FROM T_t2 WHERE ID=T_t1.ID) FROM T_t1 --正确做法 SELECT A,B,C FROM T_t1,T_t2 WHERE T_t1.ID=T_t2.ID
3:配置log4jdbc,方便查找出问题的SQL
4:创建合理的索引
索引适用于在大范围数据库查找小范围的数据,若该列数据大部分值相同,或者获取数据量比重大,就不适用于创建索引。
维护过程中:
1:更改数据库参数:当一个数据库安装后,应更改参数,使其更有利于项目的使用
修改数据缓存区参数:数据缓存是把磁盘的信息装入到内存,读取内存比读取磁盘速度快的多,应适当提高数据缓存区。
修改个人排序区参数:当需要排序的数据,多于提供的内存空间,就会部分数据在排序区,而部分在磁盘区,会经过多次内存与磁盘交换,才能完成排序,影响排序速度。
2:定期进行表分析,让数据库表一些信息重新生效
3:重建索引,对于一个经常会添加删除的表来说,数据变化不大,但索引却在不停膨胀,所以,定期重建索引,有利于查询。
4:定期对表碎片进行整理。
5:查看慢SQL的执行计划:以Sybase作为示例
查看语句的执行计划: SET SHOWPLAN ON GO SQL语句 GO SET SHOWPLAN OFF GO 查看存储过程执行计划: SET SHOWPLAN ON GO EXEC PR_存储过程 GO SET SHOWPLAN OFF GO
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
- 链接 Mysql 创建 数据库和创表,增加数据 2019-08-13
- python常见面试题15道 (附答案)你必须得会 2019-07-24
- 文本分类问题相关原理知识 2019-07-24
- django修改表数据结构后报错的解决办法 2019-07-24
- 原创:Python编写通讯录,支持模糊查询,利用数据库存储 2019-07-24
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash