阅读原文请点击:
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/
分享到:
相关推荐
我已经把他们分成几类,来帮助你掌握更多MySQL的调节和优化技巧。 MySQL 服务器硬件和操作系统调节: 1. 拥有足够的物理内存来把整个InnoDB文件加载到内存中——在内存中访问文件时的速度要比在硬盘中访问时快的多。 ...
### MySQL优化技巧总结 #### 一、MySQL慢查询日志(Slow Query Log)与mysqldumpslow工具 **慢查询日志**是MySQL提供的一种非常实用的功能,它能够帮助我们记录并分析那些执行时间较长的SQL语句,进而找出性能瓶颈并...
综上所述,MySQL存储过程的调试技巧包括但不限于良好的编码规范、使用DECLARE声明变量、DECLARE...HANDLER处理异常、利用内置工具和日志进行问题排查、保持代码简洁和熟悉SQL语法。通过掌握这些技巧,开发者可以更...
以上8个技巧涵盖了PHP和MySQL开发中的基础到进阶的实践,熟练掌握这些技巧能够帮助开发者编写出更安全、更高效的代码,提升项目质量和维护性。在实际开发过程中,不断学习和实践这些方法,将有助于成为更优秀的PHP和...
- **调试技巧**: 提供调试MySQL问题的技巧和方法。 #### 30. 事务的例子 - **事务操作**: 提供具体的事务操作示例, 如提交、回滚等。 #### 31. 使用REPLACE的例子 - **REPLACE用法**: 举例说明如何使用REPLACE...
Visual C++(VC)是一个强大的C++开发环境,通过ODBC或MySQL Connector/C++库,可以与MySQL进行通信: 1. 安装MySQL Connector/C++:这是MySQL提供的C++接口,允许VC应用程序直接连接到MySQL数据库。 2. 创建数据库...
在MySQL的世界里,成为一个实战优化高手意味着你需要深入理解数据库的核心概念、性能调优技巧以及最佳实践。本资源“从零开始带你成为MySQL实战优化高手PDF第64-116讲”显然是一份涵盖中级到高级进阶内容的教程,...
### MySQL代码学习与调试知识点详解 #### 一、获取MySQL源代码 - **获取途径**: - **Launchpad**:MySQL与MariaDB的...以上内容涵盖了从获取MySQL源代码、编译运行到调试和阅读源代码的过程,希望对您有所帮助。
2. **MySQL 数据库性能优化之SQL优化.ppt**:这是一个关于SQL查询优化的演示文稿,可能详细讲解了如何编写高效的SQL语句,避免全表扫描,合理利用索引,以及如何通过EXPLAIN分析查询执行计划。SQL优化是数据库性能...
CentOS(Community ENTerprise Operating System)是一个基于Red Hat Enterprise Linux(RHEL)构建的免费企业级操作系统。CentOS是Linux发行版之一,广泛应用于服务器领域。CentOS的稳定性和性能在业界有良好的口碑...
总的来说,这本书将提供一个全面的学习路径,让你从零开始掌握PHP和MySQL Web开发,为构建复杂的Web应用打下坚实的基础。通过阅读源码,你可以更深入地理解实际应用中的编程实践,提升解决问题的能力,对于想要在Web...
MariaDB是MySQL的一个分支,继承了MySQL的大部分特性和API,因此在调试MariaDB的存储过程时,这款工具同样适用。 四、使用流程 1. **安装与配置**:首先,下载并安装Debugger for MySQL,然后配置连接到目标MySQL...
5. **索引优化技巧**: - **最左匹配原则**:查询时尽量使用索引的最左侧列。 - **避免使用`LIKE`查询以`%`开头**:这种模式匹配无法利用索引。 - **考虑使用全文索引替代模糊查询**。 #### 四、分表技术 1. **...
在MySQL 5.6版本中,虽然已经提供了丰富的SQL语句和存储过程,但若要自定义一个全新的命令,就需要深入理解MySQL的源代码并进行编译。下面将详细介绍这一过程。 首先,我们需要了解MySQL的架构。MySQL是一个开源的...
在这个实验中,我们假设你已经在系统中安装了一个名为3306的MySQL实例。 **实验过程:** 1. **MySQL启动和关闭** - 启动MySQL服务,首先检查3306端口是否已被占用,然后使用`mysqld_safe`命令启动MySQL服务,指定...
《PHP和MySQL Web开发》是Web开发领域中的一个重要主题,主要涵盖了使用PHP编程语言与MySQL数据库系统构建动态网站和Web应用程序的技术。以下是对这一主题的详细解析: PHP(Hypertext Preprocessor)是一种开放源...
本书不仅仅局限于理论的阐述,它更着重于实战操作,每一个“食谱”都是一个针对特定问题的解决方案,旨在帮助读者快速定位问题并给出解决办法。无论是对于数据库的备份与恢复,还是对于存储过程和触发器的使用,本书...
7.2.19. 其它优化技巧 7.3. 锁定事宜 7.3.1. 锁定方法 7.3.2. 表锁定事宜 7.4. 优化数据库结构 7.4.1. 设计选择 7.4.2. 使你的数据尽可能小 7.4.3. 列索引 7.4.4. 多列索引 7.4.5. MySQL如何使用索引 7.4.6. MyISAM...