<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存储更多数据?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持跟版网!

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

                  相关文档推荐

                  Set the variable result, from query(设置变量结果,来自查询)
                  What is dynamic SQL?(什么是动态 SQL?)
                  Mysql - How to quit/exit from stored procedure(Mysql - 如何退出/退出存储过程)
                  Does MySQL have time-based triggers?(MySQL 有基于时间的触发器吗?)
                  is it possible to call a sql script from a stored procedure in another sql script?(是否可以从另一个 sql 脚本中的存储过程调用 sql 脚本?)
                  Procedure to loop through comma separated string is not working(遍历逗号分隔字符串的过程不起作用)

                    <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>