Mysql 内存表与临时表的使用区别
内存表和临时表的区别在网上看了些帖子,
内存表:
1. 参数控制:max_heap_table_size
2. 到达上线后报错。
3. 表定义保存在磁盘上,数据和索引保存在内存里面。
4. 不能包含TEXT,BLOB等字段。
临时表:
1. 参数控制:tmp_table_size。
2. 到达上线后创建文件在磁盘上。
3. 表定义和数据都在内存里。
4. 可以包含TEXT, BLOB等字段。
这是别人总结的,但是还有疑问。
在存储过程中我要将一个查询结果集放在内存表中,然后进行很多次的统计,把结果合并起来。
主要是因为Mysql的临时表在一个sql语句里面只能够引用一次,所以我才用内存表的。
但是用了内存表就在想:表定义保存在磁盘上,我写的存储过程如果在内网中可以执行,但是放在外网会不会有权限或者别的什么问题呢?不方便测试,所以来问问,临时表是都可以的,我问过同事。
------解决方案--------------------