`
骑猪逛街666
  • 浏览: 135405 次
  • 性别: Icon_minigender_2
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

101个MySQL调试和优化技巧

阅读更多
阅读原文请点击:http://click.aliyun.com/m/22992/
摘要: 101个MySQL调试和优化技巧 MySQL是一个功能强大的开源数据库。随着越来越多的数据库驱动的应用程序,人们一直在推动MySQL发展到它的极限。这里是101条调节和优化 MySQL安装的技巧。一些技巧是针对特定的安装环境的,但这些思路是通用的。

101个MySQL调试和优化技巧
MySQL是一个功能强大的开源数据库。随着越来越多的数据库驱动的应用程序,人们一直在推动MySQL发展到它的极限。这里是101条调节和优化 MySQL安装的技巧。一些技巧是针对特定的安装环境的,但这些思路是通用的。我已经把他们分成几类,来帮助你掌握更多MySQL的调节和优化技巧。


MySQL 服务器硬件和操作系统调节:
1. 拥有足够的物理内存来把整个InnoDB文件加载到内存中——在内存中访问文件时的速度要比在硬盘中访问时快的多。

2. 不惜一切代价避免使用Swap交换分区 – 交换时是从硬盘读取的,它的速度很慢。

3. 使用电池供电的内存。

4. 使用高级的RAID – 最好是RAID10或更高。

5. 避免RAID5 – 确保数据库完整性的校验是要付出代价的。

6. 将操作系统和数据分区分开,不仅仅是逻辑上,还包括物理上 – 操作系统的读写操作会影响数据库的性能。

7. 把MySQL临时空间和复制日志与数据放到不同的分区 – 当数据库后台从磁盘进行读写操作时会影响数据库的性能。

8. 更多的磁盘空间等于更快的速度。

9. 更好更快的磁盘。

10. 使用 SAS 磁盘代替 SATA 磁盘。

11. 较小的硬盘比较大的硬盘快,尤其是在RAID配置的情况下。

12. 使用电池支持的高速缓存RAID控制器。

13. 避免使用软件磁盘阵列。

14. 考虑为数据分区使用固态IO卡 (不是磁盘驱动器)  – 这些卡能够为几乎任何数量的数据支持2GB/s的写入速度。

15. 在Linux中设置swappiness的值为0 – 在数据库服务器中没有理由缓存文件,这是一个服务器或台式机的优势。

16. 如果可以的话,使用  noatime 和 nodirtime 挂载文件系统 – 没有理由更新访问数据库文件的修改时间。

17. 使用 XFS 文件系统 – 一种比ext3更快、更小的文件系统,并且有许多日志选项, 而且ext3 已被证实与MySQL有双缓冲问题。

18. 调整 XFS 文件系统日志和缓冲变量 – 为了最高性能标准。

19. 在 Linux 系统中, 使用 NOOP 或者 DEADLINE IO 定时调度程序 – 同 NOOP 和 DEADLINE定时调度程序相比,这个 CFQ 和 ANTICIPATORY 定时调度程序 显得非常慢。

20. 使用64位的操作系统 – 对于MySQL,会有更大的内存支持和使用。

21. 删除服务器上未使用的安装包和守护进程 – 更少的资源占用。

22. 把使用MySQL的host和你的MySQL host放到一个hosts文件中 – 没有DNS查找。

23. 切勿强制杀死一个MySQL进程 – 你会损坏数据库和正在运行备份的程序。

24. 把服务器贡献给MySQL – 后台进程和其他服务能够缩短数据库占用CPU的时间。

MySQL 配置:
25. 当写入时,使用 innodb_flush_method=O_DIRECT 来避免双缓冲。

26. 避免使用 O_DIRECT 和 EXT3 文件系统 – 你将序列化所有要写入的。
阅读原文请点击:http://click.aliyun.com/m/22992/
分享到:
评论

相关推荐

    分享101个MySQL调试与优化技巧

    我已经把他们分成几类,来帮助你掌握更多MySQL的调节和优化技巧。 MySQL 服务器硬件和操作系统调节: 1. 拥有足够的物理内存来把整个InnoDB文件加载到内存中——在内存中访问文件时的速度要比在硬盘中访问时快的多。 ...

    Mysql 优化技巧总结(自己整理)

    ### MySQL优化技巧总结 #### 一、MySQL慢查询日志(Slow Query Log)与mysqldumpslow工具 **慢查询日志**是MySQL提供的一种非常实用的功能,它能够帮助我们记录并分析那些执行时间较长的SQL语句,进而找出性能瓶颈并...

    MySQL存储过程调试技巧.pdf

    综上所述,MySQL存储过程的调试技巧包括但不限于良好的编码规范、使用DECLARE声明变量、DECLARE...HANDLER处理异常、利用内置工具和日志进行问题排查、保持代码简洁和熟悉SQL语法。通过掌握这些技巧,开发者可以更...

    MySQL最佳优化完美攻略

    - **调试技巧**: 提供调试MySQL问题的技巧和方法。 #### 30. 事务的例子 - **事务操作**: 提供具体的事务操作示例, 如提交、回滚等。 #### 31. 使用REPLACE的例子 - **REPLACE用法**: 举例说明如何使用REPLACE...

    MySQL数据库的安装调试和VC实现.zip

    Visual C++(VC)是一个强大的C++开发环境,通过ODBC或MySQL Connector/C++库,可以与MySQL进行通信: 1. 安装MySQL Connector/C++:这是MySQL提供的C++接口,允许VC应用程序直接连接到MySQL数据库。 2. 创建数据库...

    PHP和MySQL开发的8个技巧.

    以上8个技巧涵盖了PHP和MySQL开发中的基础到进阶的实践,熟练掌握这些技巧能够帮助开发者编写出更安全、更高效的代码,提升项目质量和维护性。在实际开发过程中,不断学习和实践这些方法,将有助于成为更优秀的PHP和...

    从零开始带你成为MySQL实战优化高手PDF64-116.zip

    在MySQL的世界里,成为一个实战优化高手意味着你需要深入理解数据库的核心概念、性能调优技巧以及最佳实践。本资源“从零开始带你成为MySQL实战优化高手PDF第64-116讲”显然是一份涵盖中级到高级进阶内容的教程,...

    MySQL代码学习和调试pdf文档

    ### MySQL代码学习与调试知识点详解 #### 一、获取MySQL源代码 - **获取途径**: - **Launchpad**:MySQL与MariaDB的...以上内容涵盖了从获取MySQL源代码、编译运行到调试和阅读源代码的过程,希望对您有所帮助。

    mikeching-mysql优化

    2. **MySQL 数据库性能优化之SQL优化.ppt**:这是一个关于SQL查询优化的演示文稿,可能详细讲解了如何编写高效的SQL语句,避免全表扫描,合理利用索引,以及如何通过EXPLAIN分析查询执行计划。SQL优化是数据库性能...

    CentOS5.5MySql5.1.49的安装、优化及安全设置.pdf

    CentOS(Community ENTerprise Operating System)是一个基于Red Hat Enterprise Linux(RHEL)构建的免费企业级操作系统。CentOS是Linux发行版之一,广泛应用于服务器领域。CentOS的稳定性和性能在业界有良好的口碑...

    PHP和MySQL Web开发(原书第5版)_源码

    总的来说,这本书将提供一个全面的学习路径,让你从零开始掌握PHP和MySQL Web开发,为构建复杂的Web应用打下坚实的基础。通过阅读源码,你可以更深入地理解实际应用中的编程实践,提升解决问题的能力,对于想要在Web...

    debugger for mysql

    MariaDB是MySQL的一个分支,继承了MySQL的大部分特性和API,因此在调试MariaDB的存储过程时,这款工具同样适用。 四、使用流程 1. **安装与配置**:首先,下载并安装Debugger for MySQL,然后配置连接到目标MySQL...

    mysql优化整理文档

    5. **索引优化技巧**: - **最左匹配原则**:查询时尽量使用索引的最左侧列。 - **避免使用`LIKE`查询以`%`开头**:这种模式匹配无法利用索引。 - **考虑使用全文索引替代模糊查询**。 #### 四、分表技术 1. **...

    如何通过添加代码给mysql5.6增加一个全新命令

    在MySQL 5.6版本中,虽然已经提供了丰富的SQL语句和存储过程,但若要自定义一个全新的命令,就需要深入理解MySQL的源代码并进行编译。下面将详细介绍这一过程。 首先,我们需要了解MySQL的架构。MySQL是一个开源的...

    3-mysql管理、监控、优化.docx

    在这个实验中,我们假设你已经在系统中安装了一个名为3306的MySQL实例。 **实验过程:** 1. **MySQL启动和关闭** - 启动MySQL服务,首先检查3306端口是否已被占用,然后使用`mysqld_safe`命令启动MySQL服务,指定...

    PHP和MySQL Web开发

    《PHP和MySQL Web开发》是Web开发领域中的一个重要主题,主要涵盖了使用PHP编程语言与MySQL数据库系统构建动态网站和Web应用程序的技术。以下是对这一主题的详细解析: PHP(Hypertext Preprocessor)是一种开放源...

    携程 姜宇祥-MySQL源码开发实践

    本书主要针对MySQL数据库的内部机制、设计原理和优化策略进行了详尽的剖析,旨在帮助读者理解MySQL的工作方式,提升在实际开发中的性能调优能力。 MySQL是全球最受欢迎的开源关系型数据库管理系统之一,广泛应用于...

    mySQL_Tools 汉化包

    6. **MySQL Proxy**:这是一个中间件,允许用户在MySQL服务器和客户端之间插入自定义的脚本,用于测试、调试或实现特定的数据库行为。汉化后,用户可以更直观地理解其功能和用法。 7. **Documentation**:汉化包...

Global site tag (gtag.js) - Google Analytics