美文网首页
mysql将一个表复制成内存表

mysql将一个表复制成内存表

作者: 苍老师的眼泪 | 来源:发表于2020-06-23 16:24 被阅读0次

假如我现在有一个表,叫sns,它的存储引擎是InnoDB
我现在想要复制一个表,就叫sns_caller,它的表结构和sns一模一样,但是存储引擎变为MEMORY
我可以这样做:

设置一下tmp_table_size和max_heap_table_size(默认值往往不够大)
SET GLOBAL tmp_table_size = 1024 * 1024 * 1024 * 2;
SET GLOBAL max_heap_table_size = 1024 * 1024 * 1024 * 2;

为了使这两项参数在mysql重启后依然有效,在mysql配置文件中设置
[mysqld]
tmp_table_size=4G
max_heap_table_size=4G


CREATE TABLE sns_memory SELECT * FROM sns WHERE 1=2;
ALTER TABLE sns_memory ENGINE=MEMORY;
INSERT INTO sns_memory SELECT * FROM sns;
DROP TABLE sns;
ALTER TABLE sns_memory RENAME sns;



相关文章

网友评论

      本文标题:mysql将一个表复制成内存表

      本文链接:https://www.haomeiwen.com/subject/euuhfktx.html