我的编程空间,编程开发者的网络收藏夹
学习永远不晚

MySQL优化的三个小秘诀是什么

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

MySQL优化的三个小秘诀是什么

今天小编给大家分享一下MySQL优化的三个小秘诀是什么的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。

MySQL优化的三个小秘诀是什么

警告

没有两个数据库或者应用程序是完全相同的。这里假设我们要调整的数据库是为一个“典型”的 Web 网站服务的,优先考虑的是快速查询、良好的用户体验以及处理大量的流量。

在你对服务器进行优化之前,请做好数据库备份!

1、使用 InnoDB 存储引擎

如果你还在使用 MyISAM 存储引擎,那么是时候转换到 InnoDB 了。有很多的理由都表明 InnoDB 比 MyISAM 更有优势,如果你关注性能,那么,我们来看一下它们是如何利用物理内存的:

MyISAM:仅在内存中保存索引。

InnoDB:在内存中保存索引和数据。

结论:保存在内存的内容访问速度要比磁盘上的更快。

下面是如何在你的表上去转换存储引擎的命令:

ALTER TABLE table_name ENGINE=InnoDB;

注意:你已经创建了所有合适的索引,对吗?为了更好的性能,创建索引永远是第一优先考虑的事情。

2、让 InnoDB 使用所有的内存

你可以在 my.cnf 文件中编辑你的 MySQL 配置。使用 innodb_buffer_pool_size 参数去配置在你的服务器上允许 InnoDB 使用物理内存数量。

对此(假设你的服务器仅仅运行 MySQL),公认的“经验法则”是设置为你的服务器物理内存的 80%。在保证操作系统不使用交换分区而正常运行所需要的足够内存之后 ,尽可能多地为 MySQL 分配物理内存。

因此,如果你的服务器物理内存是 32 GB,可以将那个参数设置为多达 25 GB。

innodb_buffer_pool_size = 25600M

注意:(1)如果你的服务器内存较小并且小于 1 GB。为了适用本文的方法,你应该去升级你的服务器。 (2) 如果你的服务器内存特别大,比如,它有 200 GB,那么,根据一般常识,你也没有必要为操作系统保留多达 40 GB 的内存。

3、让 InnoDB 多任务运行

如果服务器上的参数 innodb_buffer_pool_size 的配置是大于 1 GB,将根据参数 innodb_buffer_pool_instances 的设置, 将 InnoDB 的缓冲池划分为多个。

拥有多于一个的缓冲池的好处有:

在多线程同时访问缓冲池时可能会遇到瓶颈。你可以通过启用多缓冲池来最小化这种争用情况:

对于缓冲池数量的官方建议是:

为了实现最佳的效果,要综合考虑 innodb_buffer_pool_instances 和 innodb_buffer_pool_size 的设置,以确保每个实例至少有不小于 1 GB 的缓冲池。

因此,在我们的示例中,将参数 innodb_buffer_pool_size 设置为 25 GB 的拥有 32 GB 物理内存的服务器上。一个合适的设置为 25600M / 24 = 1.06 GB

innodb_buffer_pool_instances = 24

注意

在修改了 my.cnf 文件后需要重启 MySQL 才能生效:

sudo service mysql restart

以上就是“MySQL优化的三个小秘诀是什么”这篇文章的所有内容,感谢各位的阅读!相信大家阅读完这篇文章都有很大的收获,小编每天都会为大家更新不同的知识,如果还想学习更多的知识,请关注编程网行业资讯频道。

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

MySQL优化的三个小秘诀是什么

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

MySQL优化的三个小秘诀是什么

今天小编给大家分享一下MySQL优化的三个小秘诀是什么的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。警告1.没有两个数据库或
2023-06-27

揭示绝对定位的不足之处:优化网页布局的秘诀是什么?

绝对定位的缺陷揭秘:如何优化网页布局?随着互联网的迅猛发展,网页设计和布局成为了设计师、程序员以及网站所有者们关注的焦点。一个好的网页布局可以带来更好的用户体验和更高的转化率,而绝对定位作为一种常见的布局方式,其具有的灵活性使得它成为了众
揭示绝对定位的不足之处:优化网页布局的秘诀是什么?
2024-01-23

mysql中的优化器是什么

这篇文章主要讲解了“mysql中的优化器是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“mysql中的优化器是什么”吧!说明1、分析器生成的语法树被认为是合法的,由优化器转化为执行计划。
2023-06-20

mysql oom优化的方法是什么

OOM(Out of Memory)是指MySQL在执行过程中耗尽了服务器的内存资源,导致MySQL服务异常退出。为了解决OOM问题,可以尝试以下优化方法:调整MySQL的配置参数,如innodb_buffer_pool_size、inno
mysql oom优化的方法是什么
2024-04-12

小程序开发的三个重要点是什么

这篇文章主要介绍“小程序开发的三个重要点是什么”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“小程序开发的三个重要点是什么”文章能帮助大家解决问题。功能化:帮用户解决实际问题微信小程序在设计中要凸显新
2023-06-27

mysql索引优化的原则是什么

MySQL索引优化的原则包括以下几点:选择合适的索引类型:MySQL支持多种索引类型,包括B-Tree索引、哈希索引和全文索引等。根据查询的特点和数据的特性选择合适的索引类型。选择合适的索引列:选择经常被查询的列作为索引列,可以加快查询的速
mysql索引优化的原则是什么
2023-10-28

mysql排序优化的方法是什么

MySQL排序优化的方法有以下几种:索引优化:为排序的列创建索引,可以大幅提高排序的效率。可以考虑创建单列索引、组合索引或者覆盖索引来优化排序操作。排序字段选择:尽量选择较短的排序字段,可以减少排序操作的时间。如果排序字段较长,可以考虑使用
mysql排序优化的方法是什么
2024-04-09

mysql优化查询的方法是什么

MySQL 优化查询的方法包括但不限于以下几点:使用合适的索引:在查询中使用适当的索引可以大大提高查询性能。确保表中的字段有适当的索引可以加快查询速度。优化查询语句:使用合适的查询语句可以减少查询时间。避免使用 SELECT * 查询所有
mysql优化查询的方法是什么
2024-04-23

mysql自动优化的方法是什么

MySQL自动优化的方法主要包括使用MySQL的自动优化器和执行自动优化工具。MySQL的自动优化器:MySQL自带了一个优化器,它可以根据表的统计信息和查询的情况自动选择最优的执行计划。执行自动优化工具:有一些第三方工具可以帮助MySQL
mysql自动优化的方法是什么
2024-04-22

mysql中find_in_set优化的方法是什么

在MySQL中,可以通过使用适当的索引来优化FIND_IN_SET()函数的性能。FIND_IN_SET()函数用于在逗号分隔的字符串中查找指定的值。默认情况下,它是非确定性的,这意味着MySQL不能使用索引进行优化。但是,如果你在列上创
mysql中find_in_set优化的方法是什么
2024-04-09

MySQL索引优化的方法是什么

MySQL索引优化的方法有以下几种:选择合适的列创建索引:根据查询的列和条件,选择最经常使用的列创建索引,以提高查询的效率。组合多列创建索引:如果查询中经常涉及到多个列的条件,可以使用组合索引来提高查询效率。对长文本字段和二进制字段进行前缀
MySQL索引优化的方法是什么
2024-04-09

编程热搜

目录