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

什么时候可以考虑使用MySQL MEMORY引擎

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

北京

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

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

看不清楚,换张图片

免费获取短信验证码

什么时候可以考虑使用MySQL MEMORY引擎

通常使用MEMORY涉及到以下特性:
1.操作相关的短暂的,非重要数据的管理或者cache,当MySQL进程夯住或服务重启,MEMORY表的数据就会丢失。
2.内存存储访问快速,并且延迟低。数据可以填充到内存不会导致操作系统swap到虚拟内存。
3.只读或者读多的数据访问模式。
MySQL Cluster提供和MEMORY相似的功能来提高性能,但提供MEMORY不支持的额外的特性,例如:
1.行级锁并且多线程操作,client降低争用。
2.可扩展性
3.数据持久性的后台操作
4.shared-nothing的结构,多host操作不会有单点错误。
5.自动数据分布,应用程序不需要参与用户sharding或者分区解决方案。
6.支持可变长字段,MEMORY不支持。

如果MEMORY表hash索引的列包含在很多索引中,date表字段的值会影响性能。性能影响和被几个索引引用有关。你可以使用b树索引来避免问题。
MEMORY表可以是非唯一的key。
索引列的值可以是null


MEMORY表的物理特性:
MEMORY存储引擎都有个相关的磁盘文件,用来保存表定义。表名.frm。
MEMORY表有以下几个特性:
1.MEMORY表使用小的block,表使用动态hash存储,没有额外的key空间。删除行把空间放到一个链表。当你插入的时候会重新使用。MEMORY表在插入和删除混合没有什么问题。
2.内存表固定长度。可变长度类型比如varchar也以固定长度保存。
3.内存表不能包含BLOB,TEXT列
4.MEMORY支持AUTO_INCREMENT列
5.没有临时内存表可以被所有客户端共享,可其他临时表一样。

免责声明:

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

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

什么时候可以考虑使用MySQL MEMORY引擎

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

下载Word文档

猜你喜欢

Chrome什么时候开始使用Blink引擎

小编给大家分享一下Chrome什么时候开始使用Blink引擎,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!Chrome浏览器一直都使用WebKit作为引擎,从Ch
2023-06-26

为什么MySQL 使用timestamp可以无视时区问题.

之前一直有过疑惑为什么MySQL数据库存timestamp可以无视时区问题. 在业务中也是一直使用Laravel框架,内置的Migration也是使用的timestamp类型字段, 也没太关心. 开始查看当前数据库时区mysql> show
2022-05-28

编程热搜

目录