<legend id='mAPGk'><style id='mAPGk'><dir id='mAPGk'><q id='mAPGk'></q></dir></style></legend>

    • <bdo id='mAPGk'></bdo><ul id='mAPGk'></ul>
  • <i id='mAPGk'><tr id='mAPGk'><dt id='mAPGk'><q id='mAPGk'><span id='mAPGk'><b id='mAPGk'><form id='mAPGk'><ins id='mAPGk'></ins><ul id='mAPGk'></ul><sub id='mAPGk'></sub></form><legend id='mAPGk'></legend><bdo id='mAPGk'><pre id='mAPGk'><center id='mAPGk'></center></pre></bdo></b><th id='mAPGk'></th></span></q></dt></tr></i><div id='mAPGk'><tfoot id='mAPGk'></tfoot><dl id='mAPGk'><fieldset id='mAPGk'></fieldset></dl></div>

    <small id='mAPGk'></small><noframes id='mAPGk'>

        <tfoot id='mAPGk'></tfoot>

        如何让mysql MEMORY ENGINE存储更多数据?

        How to make the mysql MEMORY ENGINE store more data?(如何让mysql MEMORY ENGINE存储更多数据?)
        <i id='LYdRk'><tr id='LYdRk'><dt id='LYdRk'><q id='LYdRk'><span id='LYdRk'><b id='LYdRk'><form id='LYdRk'><ins id='LYdRk'></ins><ul id='LYdRk'></ul><sub id='LYdRk'></sub></form><legend id='LYdRk'></legend><bdo id='LYdRk'><pre id='LYdRk'><center id='LYdRk'></center></pre></bdo></b><th id='LYdRk'></th></span></q></dt></tr></i><div id='LYdRk'><tfoot id='LYdRk'></tfoot><dl id='LYdRk'><fieldset id='LYdRk'></fieldset></dl></div>
      1. <legend id='LYdRk'><style id='LYdRk'><dir id='LYdRk'><q id='LYdRk'></q></dir></style></legend>

          <tbody id='LYdRk'></tbody>

          • <bdo id='LYdRk'></bdo><ul id='LYdRk'></ul>

            <small id='LYdRk'></small><noframes id='LYdRk'>

            <tfoot id='LYdRk'></tfoot>

                  本文介绍了如何让mysql MEMORY ENGINE存储更多数据?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着跟版网的小编来一起学习吧!

                  问题描述

                  我想将一个表从 INNODB 更改为 MEMORY ENGINE.

                  I want to alter a table from INNODB to MEMORY ENGINE.

                  所以我输入了这个命令:

                  So I typed this command:

                  alter table sns ENGINE=MEMORY;

                  然后MySQL显示

                  ERROR 1114 (HY000): The table '#sql-738_19' is full
                  

                  表的数据大小是 1GB,我有 8GB 内存.

                  The data size for the table is 1GB, and I have 8GB Memory.

                  我查看了 my.cnf,但没有找到更改 max_size 设置的位置.难道我不能存储更多数据吗?

                  I checked my.cnf, and I didn't find where to change the max_size setting. Shouldn't I be able to store more data?

                  推荐答案

                  你应该调整你制作和加载表格的方式

                  You should adjust the way you make and load the table

                  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;
                  

                  这将绕过 tmp_table_sizemax_heap_table_size.

                  同样的,你需要做两件事:

                  Just the same, you need to do two things:

                  将此添加到/etc/my.cnf

                  Add this to /etc/my.cnf

                  [mysqld]
                  tmp_table_size=2G
                  max_heap_table_size=2G
                  

                  这将涵盖 mysql 重启.要立即在 mysqld 中设置这些值而不重新启动,请运行:

                  this will cover mysql restarts. To set these values in mysqld right now without restarting run this:

                  SET GLOBAL tmp_table_size = 1024 * 1024 * 1024 * 2;
                  SET GLOBAL max_heap_table_size = 1024 * 1024 * 1024 * 2;
                  

                  如果您使用

                  SELECT @@max_heap_table_size;
                  

                  SHOW VARIABLES LIKE 'max_heap_table_size';
                  

                  您可能会注意到,在 SET GLOBAL... 语句之后,它们似乎没有改变.这是因为这些设置仅适用于到服务器的新连接.建立新连接,您将看到值更新,或者您可以通过运行以下命令在会话中更改它:

                  you may notice that they don't seem to change following the SET GLOBAL... statements. This is because the settings only apply to new connections to the server. Make a new connection, and you'll see the values update or you could change it within your session by running:

                  SET tmp_table_size = 1024 * 1024 * 1024 * 2;
                  SET max_heap_table_size = 1024 * 1024 * 1024 * 2;
                  

                  这篇关于如何让mysql MEMORY ENGINE存储更多数据?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持跟版网!

                  本站部分内容来源互联网,如果有图片或者内容侵犯了您的权益,请联系我们,我们会在确认后第一时间进行删除!

                  相关文档推荐

                  ibtmp1是非压缩的innodb临时表的独立表空间,通过innodb_temp_data_file_path参数指定文件的路径,文件名和大小,默认配置为ibtmp1:12M:autoextend,也就是说在文件系统磁盘足够的情况下,这个文件大小是可以无限增长的。 为了避免ibtmp1文件无止境的暴涨导致
                  What does SQL clause quot;GROUP BY 1quot; mean?(SQL 子句“GROUP BY 1是什么意思?意思是?)
                  MySQL groupwise MAX() returns unexpected results(MySQL groupwise MAX() 返回意外结果)
                  MySQL SELECT most frequent by group(MySQL SELECT 按组最频繁)
                  Why Mysql#39;s Group By and Oracle#39;s Group by behaviours are different(为什么 Mysql 的 Group By 和 Oracle 的 Group by 行为不同)
                  MySQL GROUP BY DateTime +/- 3 seconds(MySQL GROUP BY DateTime +/- 3 秒)

                    <i id='gbtD7'><tr id='gbtD7'><dt id='gbtD7'><q id='gbtD7'><span id='gbtD7'><b id='gbtD7'><form id='gbtD7'><ins id='gbtD7'></ins><ul id='gbtD7'></ul><sub id='gbtD7'></sub></form><legend id='gbtD7'></legend><bdo id='gbtD7'><pre id='gbtD7'><center id='gbtD7'></center></pre></bdo></b><th id='gbtD7'></th></span></q></dt></tr></i><div id='gbtD7'><tfoot id='gbtD7'></tfoot><dl id='gbtD7'><fieldset id='gbtD7'></fieldset></dl></div>
                      1. <legend id='gbtD7'><style id='gbtD7'><dir id='gbtD7'><q id='gbtD7'></q></dir></style></legend>

                        <small id='gbtD7'></small><noframes id='gbtD7'>

                        • <bdo id='gbtD7'></bdo><ul id='gbtD7'></ul>
                          <tfoot id='gbtD7'></tfoot>

                            <tbody id='gbtD7'></tbody>