mysql memory引擎表

   mysql memory引擎的表适合做中间结果集,下面来做个试验:

mysql> select version();
+-----------+
| version() |
+-----------+
| 5.6.24    |
+-----------+ 

  max_heap_table_size

DROP TABLE t_mem,t_inn;

SET max_heap_table_size=100*1024*1024;
CREATE TABLE t_mem(id INT,col1 INT,col2 INT,col3 INT) ENGINE=MEMORY;
CREATE TABLE t_inn(id INT,col1 INT,col2 INT,col3 INT) ENGINE=INNODB;

mysql> DELIMITER $$
mysql> DROP PROCEDURE IF EXISTS `proc1`$$
mysql> CREATE PROCEDURE `proc1`()
mysql> BEGIN 
mysql>   DECLARE i INT;  
mysql>     SET i=0;  
mysql>     WHILE i<10000 DO  
mysql>       INSERT INTO t_mem VALUES(i,i,i,i);
mysql>       SET i=i+1;  
mysql>     END WHILE;  
mysql>  END$$
mysql> DELIMITER ;

mysql> DELIMITER $$
mysql> DROP PROCEDURE IF EXISTS `proc2`$$
mysql> CREATE PROCEDURE `proc2`()
mysql> BEGIN 
mysql>   DECLARE i INT;  
mysql>     SET i=0;  
mysql>     WHILE i<10000 DO  
mysql>       INSERT INTO t_inn VALUES(i,i,i,i);
mysql>      SET i=i+1;  
mysql>     END WHILE;  
mysql>  END$$

mysql> DELIMITER ;

mysql> CALL proc1();
Query OK, 0 rows affected (0.05 sec)


mysql> CALL proc2();
Query OK, 0 rows affected (28.54 sec)


mysql> SELECT COUNT(1) FROM t_mem;
+----------+
| COUNT(1) |
+----------+
|    10000 |
+----------+
1 row in set (0.00 sec)


mysql> SELECT COUNT(1) FROM t_inn;
+----------+
| COUNT(1) |
+----------+
|    10000 |
+----------+
1 row in set (0.01 sec)

  可以看到memeoy的表相对innodb来说插入是非常快,查询会快一点点。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值