数据库优化之实例和故事
2018-06-18 01:02:50来源:未知 阅读 ()
简要:每一项技术都离不开数据库,数据库犹如人的大脑;密不可分,一旦出了问题(故障),停顿,卡主后果可想而知;我(fudomine)潜心学习数据库优化3个月,现在将学到的经验分享给大家,希望能够跟各位PHP大神分享和学习探索,如果有不对或者好的建议告知下;*~*!
一、合理时间备份数据
备份数据,是每个项目维护的日常工作;有利于数据在系统遭受破坏或其他特定情况下,重新加以利用的一个过程;项目的备份时间,大都是根据项目需求来决定,比如:每小时,指定时间等;
案例: 某个项目正进行大型活动,数据库由于巨大用户量的访问以及定时备份;造成带宽出现峰值,大量执行操作处于队列状态,致使数据库停止工作;
方法:
1. 若拓扑结构单一结构(单台数据库),停止定时任务(备份);
2. 若拓扑结构非单一结构(主从/分布式),可停止定时任务;或主(数据库)放弃执行定时任务,从(数据库)执行;
二、避免对大表操作
何谓大表,是指记录行数巨大,单标超过千万行;表数据文件巨大,表数据文件超过10G;
(1) 慢查询
很难在一定时间内过滤出所需要的数据,原因:来源少->区分度低->大量磁盘IO->降低磁盘效率->大量慢查询
(2)大表对DDL操作
- 建立索引需要很长的时间,过程可能会造成:主从延迟、锁表甚至于造成死锁
- 修改表结构需要长时间锁表,过程可能会造成:主从延迟,锁表,阻塞
方法:
1. 分库分表
2. 数据归档:减少前后端业务影响
三、大事务
大事务,运行时间比较长,操作的数据比较多的事务
(1)风险
* 锁定太多数据,造成大量的阻塞
* 回滚时间比较长
* 执行时间长,容易造成主从延迟
(2)方法
* 避免一次处理太多的数据(增删改查)
* 移除不必要在事务中的select操作
作者:不动峰
出处:http://www.cnblogs.com/mylly/
版权所有,欢迎保留原文链接进行转载:)
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
- SQL如何查询语句优化 2020-02-26
- laravel5.2表单验证,并显示错误信息的实例 2019-09-30
- PHP迭代器和生成器用法实例分析 2019-09-30
- php源码的安装方法和实例 2019-09-30
- MySQL性能优化的20条经验 2019-09-23
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