- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
网速再怎么快,程序语言如JSP再怎么先进,如果你的数据库没有优化好,查询一个几百条数据库就很吃力的话,那么网站建设是失败的,做好网站的优化,数据库是关键,大多的网站都是动态的,需要实时连接数据库,那么数据库的优化问题就值得大家去了解了,下面长沙久安网络公司为你分析数据库如何优化。
那什么是数据库优化了,数据库优化,简单地说,是根据一开始网站数据库设计而进行的优化。开始网站设计的时候,可能考虑的不是很全面。后期网站访问量增加,出现页面数据显示过慢,程序执行效果差等现象。优化数据库从而加速数据读取,页面访问速度加快
A.sql语句优化,指对查询语句,增,删,改等进行优化
B.增加索引,索引需要在数据量超大的时候加,一般不建议加,因为每增加一条记录会索引一次,添加时慢,可以到了一万条或几万,一次生成索引,就方便多。
B.程序优化,指如ASP,PHP,JSP等程序对数据库的接口语句优化。
??数据库优化,只有优化了数据库,使其性能提升,运用数据库时才能方便快捷。目前web2.0的程序,很大瓶颈是数据库的吞度量。不过,如何才能确定系统的瓶颈是数据库呢,因为只有确定数据库是整个系统的瓶颈,我们才有必要去优化他,毕竟,还有这么多需求等待我们去做。
知道数据库是瓶颈了,如何来进行优化呢?
1我们第一个想到是看看数据库的容量是不是太大了,如果数据库表太大的话,索引文件也会比较大,每次的更新操作就会更加的费时。需要考虑进行分库和分表了。
分库分表按照一定的规则来对数据库中的记录进行分区来存储,一方面可以做到一定的负载均衡,将请求平分下来,每个区段去独自承受;另一方面,分库分表可以使我们存储和操作更多的数据。
不过分库分表需要多之前基于单库的程序进行修改,存在一定的风险,因此,在程序设计之初就应该考虑到分库分表的需要,最好是将数据库操作层独立出来,便于扩展和更改。
2如果数据库表不是很大,但是查询慢的话,我们需要检查一下我们的sql查询语句,利用mysql的explain语句看看是不是使用了索引,如果没有使用索引,那我们需要在相应的字段上建上索引,反复的使用explain,寻找到个一个合适的索引。
确定数据库是瓶颈?
1如果程序设计良好,有一个数据库操作逻辑层,可以从这个层的统计数据看到每个请求花费的时间,如果平均时间已经不能让你容忍的话,数据库已经是瓶颈了。
2在数据库的服务器上使用top命令,看看mysql服务器占用资源的情况,看看机子的平均负载。
如果服务器的平均负载已经很高,mysql占用了块100%的cpu资源,说明mysql服务器很忙了。
3在数据库服务器上使用iostat命令,看看磁盘IO,如果block住的操作比较多的话,说明数据库操作还是过于频繁了,磁盘都响应不急了。
4建议打开mysql的慢查询日志,这样grepselect看一下日志中的慢查询的数量,如果数量较多,说明慢查询的数量很多,需要进行调整了。
5如果有一天数据库无法插入了,需要检查一下数据库表是不是过大了。32位的操作系统上一个表最大的容量是2^32这么大。不过还是建议增加一个数据库操作的逻辑层,在数据库操作的前后记录下操作的时间,进行统计上报,利用监控程序来报警相关负责人,这样可以及早的知道数据库是瓶颈,提前做出优化。
建索引时需要考虑:
1)数据库的索引要做到越少越好:因为每次更新都需要更新索引,索引过多就会降低写入的速度
2)最窄的字段放在键的左边:这样提高了索引中每一个点的基数,带来更好的索引读写性能
3)尽量避免filesort排序、临时表和表扫描:对于大表,全表扫描会导致大量的磁盘IO的操作,会导致操作非常的缓慢
4)对于大表,尽量不要将索引建在字符串类型的列上,字符串的匹配是很费时的,需要付出很高的性能代价,如果一定有必要,建议对字符串列进行hash后取一个整形的值来进行索引。
3如果更新操作有点慢,而读操作的响应要求不需要很及时的话,可以考虑利用mysql的主从热备来分担读写的压力。
毕竟对数据库的操作,写少读多。因此,我们将对数据库的写操作放到mysql的主服务器上,利用mysql的热备,我们在备份的数据库服务器上进行读操作,由于可以有多个热备mysql,于是可以将读操作分布在多个热备上面,从而将读操作均衡开来,提高读操作的性能。
4缓存的使用
缓存是一切后台程序的根本,因为80%的请求是对应20%的数据,我们只需要少量的内存将20%的数据缓存起来,就可以大大的满足我们系统需求,何乐而不为呢。
1)mysql设置中尽量增加keycache,threadcache、查询的cache
2)在应用程序层增加一个memcached这样的通用cache
3)对于少量数据,但是操作频
您可能关注的文档
- 网文-推进惩防体系建设为企业健康发展保驾护航.doc
- 网校名师精讲中级职称经济法总论知识点.doc
- 网信部新媒体团队策划书.docx
- 网页设计过程及步骤.doc
- 网页设计及制作报告.doc
- 网页设计技术-课程标准.doc
- 网页设计-教学大纲.doc
- 网页设计教学计划.doc
- 网页设计可以自学吗.doc
- 网页设计期末考试课程设计要求.doc
- 2025年无人机低空医疗物资投放社会效益报告.docx
- 2025年再生塑料行业包装回收利用产业链重构研究.docx
- 《AI眼镜周边产品市场机遇:2025年终端销售与需求增长洞察》.docx
- 2025年坚果加工行业深加工技术突破与市场拓展策略报告.docx
- 2025年通信芯片行业技术竞争与未来趋势报告.docx
- 《2025年生鲜电商配送冷链事故分析与预防措施》.docx
- 《商业航天融资新趋势2025民营卫星企业资本涌入估值分析市场动态》.docx
- 2025年能源绿色健康行业创新技术与市场应用报告.docx
- 2025年无人机低空医疗救援通信方案分析报告.docx
- 2025年烹饪机器人行业市场集中度分析报告.docx
最近下载
- GB∕T3280-2015不锈钢冷轧钢板和钢带(高清版) (1).doc VIP
- 人教版三年级数学下册《三位数除以一位数(商是三位数)》除数是一位数的除法PPT优质课件.pptx VIP
- 2023版29490-2023企业知识产权合规管理体系管理手册及全套程序文件_20250707_223634.docx
- 《韩国商务模板》课件.pptx VIP
- 客户反馈处理的规定和流程.pdf VIP
- 图上作业法讲解.ppt
- 《屈原列传》课件67张.pptx VIP
- 《屈原列传》课件24张.pptx VIP
- 新教材新高考政治基础知识全套背诵课件(统编版必修+选修共7册).pptx
- DB29-1-2013 天津市居住建筑节能设计标准.pdf VIP
原创力文档


文档评论(0)