- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
目录
MySQL优化 1
1. 我们可以且应该优化什么? 2
2. 优化硬件 2
3. 优化磁盘 2
4. 优化操作系统 3
5. 选择应用编程接口 3
6. 优化应用 3
7. 应该使用可移植的应用 4
8. 如果你需要更快的速度 4
9. 优化MySQLD 4
10. 编译和安装MySQL 5
11. 维护 5
12. 优化SQL 5
13. 不同SQL服务器的速度差别(以秒计) 6
14. 重要的MySQL启动选项 7
15. 优化表 7
16. MySQL如何次存储数据 7
17. MySQL表类型 8
18. MySQL行类型(专指IASM/MyIASM表) 8
19. MySQL缓存 8
20. MySQL表高速缓存工作原理 9
21. MySQL扩展/优化-提供更快的速度 9
22. MySQL何时使用索引 10
23. MySQL何时不使用索引 10
24. 学会使用EXPLAIN 10
25. 学会使用SHOW PROCESSLIST 11
26. 如何知晓MySQL解决一条查询 11
27. MySQL非常不错 12
28. MySQL应避免的事情 12
29. MySQL各种锁定 12
30. 给MySQL更多信息以更好地解决问题的技巧 12
31. 事务的例子 13
32. 使用REPLACE的例子 13
33. 一般技巧 14
34. 使用MySQL 3.23的好处 14
35. 正在积极开发的重要功能 14
MySQL优化
(本文是Monty在OReilly Open Source Convention 2000大会上的演讲)我们可以且应该优化什么? 硬件 操作系统/软件库SQL服务器(设置和查询)应用编程接口(API)应用程序 优化硬件 如果你需要庞大的数据库表(2G),你应该考虑使用64位的硬件结构,像Alpha、Sparc或即将推出的IA64。因为MySQL内部使用大量64位的整数,64位的CPU将提供更好的性能。对大数据库,优化的次序一般是RAM、快速硬盘、CPU能力。更多的内存通过将最常用的键码页面存放在内存中可以加速键码的更新。如果不使用事务安全(transaction-safe)的表或有大表并且想避免长文件检查,一台UPS就能够在电源故障时让系统安全关闭。对于数据库存放在一个专用服务器的系统,应该考虑1G的以太网。延迟与吞吐量同样重要。优化磁盘 为系统、程序和临时文件配备一个专用磁盘,如果确是进行很多修改工作,将更新日志和事务日志放在专用磁盘上。低寻道时间对数据库磁盘非常重要。对与大表,你可以估计你将需要log(行数)/log(索引块长度/3*2/(键码长度 + 数据指针长度))+1次寻到才能找到一行。对于有500000行的表,索引Mediun int类型的列,需要log(500000) / log(1024/3*2/(3 + 2))+1=4次寻道。上述索引需要500000*7*3/2=5.2M的空间。实际上,大多数块将被缓存,所以大概只需要1-2次寻道。然而对于写入(如上),你将需要4次寻道请求来找到在哪里存放新键码,而且一般要2次寻道来更新索引并写入一行。对于非常大的数据库,你的应用将受到磁盘寻道速度的限制,随着数据量的增加呈N log N数据级递增。将数据库和表分在不同的磁盘上。在MySQL中,你可以为此而使用符号链接。条列磁盘(RAID 0)将提高读和写的吞吐量。带镜像的条列(RAID 0+1)将更安全并提高读取的吞吐量。写入的吞吐量将有所降低。不要对临时文件或可以很容易地重建的数据所在的磁盘使用镜像或RAID(除了RAID 0)。在Linux上,在引导时对磁盘使用命令hdparm -m16 -d1以启用同时读写多个扇区和DMA功能。这可以将响应时间提高5~50%。在Linux上,用async (默认)和noatime挂载磁盘(mount)。对于某些特定应用,可以对某些特定表使用内存磁盘,但通常不需要。优化操作系统 不要交换区。如果内存不足,增加更多的内存或配置你的系统使用较少内存。不要使用NFS磁盘(会有NFS锁定的问题)。增加系统和MySQL服务器的打开文件数量。(在safe_mysqld脚本中加入ulimit -n #)。增加系统的进程和线程数量。如果你有相对较少的大表,告诉文件系统不要将文件打碎在不同的磁道上(Solaris)。使用支持大文件的文件系统(Solaris)。选择使用哪种文件系统。在Linux上的Reiserfs对于打开、读写都非常快。文件检查只需几秒种。选择应用编程接口PERL:
可在不同的操作系统和数据库之间移植。适宜快速原型。应该使用DBI/DBD接口。PHP:
比PERL易学。使用比PERL少的资源。通过升级到PHP4可以获得更快的速度。C:
MyS
您可能关注的文档
最近下载
- 5.2《大学之道》课件(共39张PPT) 2025-2026学年统编版高中语文选择性必修上册.pptx VIP
- 椭圆标准方程导学案.doc VIP
- 单片机烟雾检测报警系统设计方案.docx VIP
- 发那科Line tracking-追踪说明.pdf VIP
- 眼组织解剖与生理.ppt VIP
- 发那科机器人Line Tracking(直线追踪)FANUC.pdf VIP
- 眼的组织解剖和生理-医学课件.ppt VIP
- 2025年警务辅助人员招聘考试(时事政治+公安基础知识)题库.docx VIP
- 眼组织解剖生理.ppt VIP
- (2025年高考真题解读课件)2025年高考地理真题完全解读(河南卷).pptx VIP
原创力文档


文档评论(0)