- 浏览: 154949 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (118)
- rest (2)
- spring (8)
- java proxy (1)
- linux (9)
- nginx (1)
- 加密算法 (2)
- jquery (3)
- hibernate (9)
- bootstrap (0)
- mysql (15)
- java (6)
- 应用服务器 (2)
- jdbc (3)
- js (3)
- springMVC (3)
- JAVA基础分类 (2)
- mycat (5)
- mybatis (0)
- drools规则引擎 (0)
- 压力测试工具 (1)
- 日志管理 (3)
- maven (3)
- 数据源 (1)
- kryo 序列化 (1)
- dubbo (3)
- com.google.common.collect 工具类 (2)
- memcache (2)
- jdk (1)
- 正则 (2)
- amoeba (1)
- 分布式事务 (2)
- html5 (1)
- spring-data-elasticSearch (2)
- shell脚本 (1)
- Elasticsearch (9)
- 设计模式 (2)
- NOSQL (1)
- hash算法 (4)
- 多线程 (0)
- 电商 (1)
- pinpoint (0)
最新评论
先说下tmp_table_size吧:
它规定了内部内存临时表的最大值,每个线程都要分配。(实际起限制作用的是tmp_table_size和max_heap_table_size的最小值。)如果内存临时表超出了限制,MySQL就会自动地把它转化为基于磁盘的MyISAM表,存储在指定的tmpdir目录下,默认:
mysql> show variables like "tmpdir";
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| tmpdir | /tmp/ |
+---------------+-------+
优化查询语句的时候,要避免使用临时表,如果实在避免不了的话,要保证这些临时表是存在内存中的。如果需要的话并且你有很多group by语句,并且你有很多内存,增大tmp_table_size(和max_heap_table_size)的值。这个变量不适用与用户创建的内存表(memory table).
你可以比较内部基于磁盘的临时表的总数和创建在内存中的临时表的总数(Created_tmp_disk_tables和Created_tmp_tables),一般的比例关系是:
Created_tmp_disk_tables/Created_tmp_tables<5%
max_heap_table_size
这个变量定义了用户可以创建的内存表(memory table)的大小.这个值用来计算内存表的最大行数值。这个变量支持动态改变,即set @max_heap_table_size=#
,但是对于已经存在的内存表就没有什么用了,除非这个表被重新创建(create table)或者修改(alter table)或者truncate table。服务重启也会设置已经存在的内存表为全局max_heap_table_size的值。
这个变量和tmp_table_size一起限制了内部内存表的大小。
它规定了内部内存临时表的最大值,每个线程都要分配。(实际起限制作用的是tmp_table_size和max_heap_table_size的最小值。)如果内存临时表超出了限制,MySQL就会自动地把它转化为基于磁盘的MyISAM表,存储在指定的tmpdir目录下,默认:
mysql> show variables like "tmpdir";
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| tmpdir | /tmp/ |
+---------------+-------+
优化查询语句的时候,要避免使用临时表,如果实在避免不了的话,要保证这些临时表是存在内存中的。如果需要的话并且你有很多group by语句,并且你有很多内存,增大tmp_table_size(和max_heap_table_size)的值。这个变量不适用与用户创建的内存表(memory table).
你可以比较内部基于磁盘的临时表的总数和创建在内存中的临时表的总数(Created_tmp_disk_tables和Created_tmp_tables),一般的比例关系是:
Created_tmp_disk_tables/Created_tmp_tables<5%
max_heap_table_size
这个变量定义了用户可以创建的内存表(memory table)的大小.这个值用来计算内存表的最大行数值。这个变量支持动态改变,即set @max_heap_table_size=#
,但是对于已经存在的内存表就没有什么用了,除非这个表被重新创建(create table)或者修改(alter table)或者truncate table。服务重启也会设置已经存在的内存表为全局max_heap_table_size的值。
这个变量和tmp_table_size一起限制了内部内存表的大小。
发表评论
-
mysql 查询指定索引
2017-07-13 12:25 949select * from course c f ... -
MYSQL 函数 游标
2017-05-15 20:23 516CREATE PROCEDURE `test`.`new_ ... -
mysql 查看数据库是否有写操作(通过mysqlbin)
2016-10-08 18:29 612/usr/local/mysql/bin/mysqlbin ... -
Using filesort
2015-03-23 18:52 441只有在order by 数据列的时候才可能会出现using f ... -
MySQL STRAIGHT_JOIN
2015-03-23 18:36 643MySQL STRAIGHT_JOIN STRAIGHT_JO ... -
mysql密码忘记后重置
2014-12-30 15:51 4591./etc/init.d/mysql stop 2.以安全模 ... -
show processlist status
2014-10-30 10:31 549After create This occurs when t ... -
mysql 主从复制常见问题
2014-10-14 09:47 11341.问题一:主从复制, ... -
Mysql 表所查询
2014-09-23 10:09 511可以通过检查 table_locks_waited和table ... -
Mysql 语句避免重复插入 Insert Select Not Exist
2014-09-18 17:33 884插入数据时,如果为了避免重复插入,而不像通过两次Sql进 可以 ... -
mysql in not in exist not exist 区别
2014-09-17 19:59 3371Mysql In Not In 不对null 进行处理 如果子 ... -
MySQL小误区:关于set global sql_slave_skip_counter=N 命令
2014-09-17 19:22 449背景知识1: 在主 ... -
mysql 从数据库slave 状态为no的解决方法
2014-09-11 12:08 623从数据库的状态显示为如下 Slave_IO_Running ... -
MySQL里获取当前week、month、quarter的start_date/end_date
2014-08-12 19:35 724当前week第一天 select date_sub(cur ... -
mysql 日期计算
2014-08-06 18:04 0mysql date()函数 MySQL DATE_SUB() ...
相关推荐
(实际起限制作用的是tmp_table_size和max_heap_table_size的最小值。)如果内存临时表超出了限制,MySQL就会自动地把它转化为基于磁盘的MyISAM表,存储在指定的tmpdir目录下,默认: mysql> show variables like ...
通过设置tmp_table_size选项来增加一张临时表的大小,例如做高级GROUP BY操作生成的临时表。如果调高该值,MySQL同时将增加heap表的大小,可达到提高联接查询速度的效果,建议尽量优化查询,要确保查询过程中生成的...
这几天碰到这个错误。 至于我改的这几个值是不是正确的解决方法,目前还不知道。先贴出来。 如果过一段时间我还是没有更新,那以后同志们都参考吧 。... 还有max_heap_table_size 和tmp_table_size的值。 因
内存表,就是放在内存中的表,所使用内存的大小可通过My.cnf中的max_heap_table_size指定,如max_heap_table_size=1024M,内存表与临时表并不相同,临时表也是存放在内存中,临时表最大所需内存需要通过tmp_table_...
内存表,就是放在内存中的表,所使用内存的大小可通过My.cnf中的max_heap_table_size指定,如max_heap_table_size=1024M,内存表与临时表并不相同,临时表也是存放在内存中,临时表最大所需内存需要通过tmp_table_...
# 如果某个内部heap(堆积)表大小超过tmp_table_size,MySQL可以根据需要自动将内存中的heap表改为基于硬盘的MyISAM表。还可以通过设置tmp_table_size选项来增加临时表的大小。也就是说,如果调高该值,MySQL同时将...
max_heap_table_size current value:16777216 // max_join_size current value:4294967295 //允许读取的连接的数量 max_sort_length current value:1024 //在排序blob或者text时使用的字节数量 max_tmp_tables ...
5.1.2. mysqld-max扩展MySQL服务器 5.1.3. mysqld_safe:MySQL服务器启动脚本 5.1.4. mysql.server:MySQL服务器启动脚本 5.1.5. mysqld_multi:管理多个MySQL服务器的程序 5.2. mysqlmanager:MySQL实例管理器 ...
5.1.2. mysqld-max扩展MySQL服务器 5.1.3. mysqld_safe:MySQL服务器启动脚本 5.1.4. mysql.server:MySQL服务器启动脚本 5.1.5. mysqld_multi:管理多个MySQL服务器的程序 5.2. mysqlmanager:MySQL实例管理器 ...
5.1.2. mysqld-max扩展MySQL服务器 5.1.3. mysqld_safe:MySQL服务器启动脚本 5.1.4. mysql.server:MySQL服务器启动脚本 5.1.5. mysqld_multi:管理多个MySQL服务器的程序 5.2. mysqlmanager:MySQL实例管理器 ...
5.1.2. mysqld-max扩展MySQL服务器 5.1.3. mysqld_safe:MySQL服务器启动脚本 5.1.4. mysql.server:MySQL服务器启动脚本 5.1.5. mysqld_multi:管理多个MySQL服务器的程序 5.2. mysqlmanager:MySQL实例管理器 ...
5.1.2. mysqld-max扩展MySQL服务器 5.1.3. mysqld_safe:MySQL服务器启动脚本 5.1.4. mysql.server:MySQL服务器启动脚本 5.1.5. mysqld_multi:管理多个MySQL服务器的程序 5.2. mysqlmanager:MySQL实例管理器 ...
5.1.2. mysqld-max扩展MySQL服务器 5.1.3. mysqld_safe:MySQL服务器启动脚本 5.1.4. mysql.server:MySQL服务器启动脚本 5.1.5. mysqld_multi:管理多个MySQL服务器的程序 5.2. mysqlmanager:MySQL实例管理器 ...
mysqld-max扩展MySQL服务器 5.1.3. mysqld_safe:MySQL服务器启动脚本 5.1.4. mysql.server:MySQL服务器启动脚本 5.1.5. mysqld_multi:管理多个MySQL服务器的程序 5.2. mysqlmanager:MySQL实例管理...
5.1.2. mysqld-max扩展MySQL服务器 5.1.3. mysqld_safe:MySQL服务器启动脚本 5.1.4. mysql.server:MySQL服务器启动脚本 5.1.5. mysqld_multi:管理多个MySQL服务器的程序 5.2. mysqlmanager:MySQL实例管理器 ...
5.1.2. mysqld-max扩展MySQL服务器 5.1.3. mysqld_safe:MySQL服务器启动脚本 5.1.4. mysql.server:MySQL服务器启动脚本 5.1.5. mysqld_multi:管理多个MySQL服务器的程序 5.2. mysqlmanager:MySQL实例管理器 ...