mysql内存表+临时表

临时表:表在内存里,数据在内存里。

内存表:表在磁盘里,数据在内存里。

  my.cnf文件中修改 临时表和内存表的大小:

  [mysqld] 
  # 内存表容量 
  max_heap_table_size=1024M 
  # 临时表容量 
  tmp_table_size=1024M

创建:

  内存表:  注意引擎是memory

CREATE TABLE coldtest_vardata (
  Id int(11) AUTO_INCREMENT,
  name varchar(255)
) ENGINE=MEMORY DEFAULT CHARSET=utf8 ROW_FORMAT=COMPACT; 

  临时表:

    create temporary table tmp1(id int not null);

相关链接:

  http://blog.csdn.net/feihong247/article/details/7847722  //临时表和内存表

  http://blog.chinaunix.net/uid-16844903-id-3026988.html  //临时表和内存表

时间: 2024-10-11 01:17:50

mysql内存表+临时表的相关文章

MySQL内存表和临时表

#MySQL内存表和临时表 DROP TABLE IF EXISTS tbl; CREATE TABLE tbl ( id INT NOT NULL AUTO_INCREMENT, title VARCHAR (50) NOT NULL, author VARCHAR (50) NOT NULL, PRIMARY KEY (id) ) ENGINE = INNODB DEFAULT CHARSET = utf8; INSERT INTO tbl(title, author) VALUES('Le

Mysql内存表配置及性能测试

centos7 mysql数据库安装和配可以参考一下文章,基本照做就可以了(我选的方法二): http://www.cnblogs.com/starof/p/4680083.html 说到内存表,首先有两个概念简单区分下: 1.临时表:2.内存表: 临时表与内存表的区分: 临时表是指使用create temprary table创建的临时表.临时表可以使用任何存储引擎,临时表只在单个连接中可见,当连接断开时,临时表也会消失. MySQL最初会将临时表创建在内存中,当数据变的太大后,就会转储到磁盘

MySql 内存表使用

MySql 内存表使用 内存表使用哈希散列索引把数据保存在内存中,因此具有极快的速度,适合缓存中小型数据库,但是使用上受到一些限制,以下是蓝草使用的一些感受. 1.heap对所有用户的连接是可见的,这使得它非常适合做缓存. 2.仅适合使用的场合.heap不允许使用xxxTEXT和xxxBLOB数据类型:只允许使用=和<=>操作符来搜索记录(不允许<.>.<=或>=):不支持auto_increment:只允许对非空数据列进行索引(not null). 注:操作符 “&l

关于mysql内存表的一个帖子(转载)

地址:http://bbs.csdn.net/topics/360030699 引用楼主 zgycsmb 的回复:问:1mysql的内存表性能怎么样2mysql的内存表与system v 这种共享内存机制比起来,如何3 mysql的内存表怎么用,能不能给个例子, thanks 1mysql的内存表性能怎么样 内存表的性能是非常好的,但是取决于你的内存容量,另外它有一个比较致命的弱点,就是一旦出现系统崩溃的情况就会导致数据丢失.2mysql的内存表与system v 这种共享内存机制比起来,如何

MySQL内存表的特性与使用介绍

内存表,就是放在内存中的表,所使用内存的大小可通过My.cnf中的max_heap_table_size指定,如max_heap_table_size=1024M,内存表与临时表并不相同,临时表也是存放在内存中,临时表最大所需内存需要通过tmp_table_size = 128M设定.当数据超过临时表的最大值设定时,自动转为磁盘表,此时因需要进行IO操作,性能会大大下降,而内存表不会,内存表满后,会提示数据满错误.云鼎娱乐城 临时表和内存表都可以人工创建,但临时表更多的作用是系统自己创建后,组织

mysql 内存表

show variables like 'max_%'; max_heap_table_size 16777216     max_tmp_tables 32     show variables like 'tmp_%'; tmp_table_size 1048576000 set global max_heap_table_size=1048576000 set global tmp_table_size=1048576000

MySQL存储过程和临时表

MySQL创建存储过程 MySQL中,创建存储过程的基本形式如下: CREATE PROCEDURE sp_name ([proc_parameter[,...]]) [characteristic ...] routine_body 其中,sp_name参数是存储过程的名称:proc_parameter表示存储过程的参数列表: characteristic参数指定存储过程的特性:routine_body参数是SQL代码的内容,可以用BEGIN…END来标志SQL代码的开始和结束. proc_p

MySQL 中的临时表和内存表

内存表: 1.通过My.cnf中的max_heap_table_size指定,支持动态指定 2.表定义是存放在磁盘上的,扩展名为.frm,重启不会丢失,数据是存放在内存中的,所以重启会丢失数据 3.不支持BLOB或TEXT列 4.内存表初始化,可以使用--init-file来初始化,避免重启mysql后数据被清空.比如--init-file="/data/mysql/init.sql", init.sql格式为:          use db_test;          selec

MySQL information_schema表查询导致内存暴涨

case:下面的一条sql语句,导致mysql实例内存暴涨: select * from tables where table_name not in(select table_name from partitions group by table_name having count(*)>1 ); mysql 5.5, 1w+的innodb表. 下面看下调查的结果: 1.  sql的执行情况以及内存分配:   step1: 构造information_schema.tables临时表 1.1