mysql memory引擎表
2015-12-11 10:37
411 查看
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来说插入是非常快,查询会快一点点。
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来说插入是非常快,查询会快一点点。
相关文章推荐
- mysql 绿色免安装win版本
- SQL Server数据迁移至MySQL
- maven+springMVC+myBatis+mysql+junit+slf4j+logback示例代码总结
- MySQL数据库中的索引有哪些,有什么用
- Zabbix-proxy搭建
- mysql存储过程语法及实例
- mysqldump 备份数据说明+ 避免锁表
- 构建高性能web之路------mysql读写分离实战
- MySQL日期时间函数大全
- MySql 里的IFNULL、NULLIF和ISNULL用法
- Mysql中的常用工具
- MySQL: 1006 - Can't create database '***' (errno: 13) 错误 解决方法
- MySQL常用命令
- MySql5 Window超详细安装教程
- MySql
- 简单谈谈MySQL的loose index scan
- mysql主从复制
- mysql有关日期的函数
- MySQL 5.7忘记密码重置方法
- mysql创建账号对应的数据库方法