网站运营 | 站长学院 | 技术文档 | 成语 | 歇后语 | 桌面壁纸 | 帝国时代 | 代码收藏 | IP地址查询 | 生活百科 | 生日密码 | CSS压缩 | 用户评论

mysql如何使用临时表,内存表来加快速度?

【 更新时间:2013-11-07 | 字体:
[导读]黄新颖1.我结合武侠这个游戏来说一说我的使用心得:武侠中所有玩家当前所在场景信息存在内存表中<<,比如A场景有a,b,c玩家<, B场景中有e,f,g玩家<<,都存在一个叫做tbl_player_scene的内存表中<<<。当时并不知道redis, 后来想...

黄新颖

1.我结合武侠这个游戏来说一说我的使用心得:
武侠中所有玩家当前所在场景信息存在内存表中<<,比如A场景有a,b,c玩家, B场景中有e,f,g玩家<,都存在一个叫做tbl_player_scene的内存表中。当时并不知道redis, 后来想想其实可以用redis的set来替代。
2.内存表的特点:
a. 支持索引<。(这个是对比起redis等nosql的杀手锏)
b. 支持自增长字段<。
c. 查询缓存
etc
从内存表的特性来看<,他的适合场景有:
a. 在开发初期,内存表在和nosql数据库对比的时候<<<,看查询的复杂程度<,数据的复杂程度来进行权衡。
b. 在后期维护中<,可以在非常小的改变原先的代码结构<<,比如dao层的代码<,移植成内存表类型。

linux_ubuntu

临时表将在你连接MySQL期间存在<<。当你断开时<<,MySQL将自动删除表并释放所用的空间<。当然你可以在仍然连接的时候删除表并释放空间。
重起数据库以后<<,内存中的数据全部丢失。
1.临时表:表建在内存里,数据在内存里
2.内存表:表建在磁盘里<,数据在内存里
其中包括2个重要的参数
[mysqld]
内存表容量
max_heap_table_size=1024M
临时表容量
tmp_table_size=1024M

临时表主要是为了放一些中间大结果集的一些子集,内存表可以放一些经常频繁使用的数据<<。

自由者:

以下是对内存表和临时表之间区别的总结:

内存表:
1. 通过参数控制:max_heap_table_size大小来设定内存表大小
2. 到达max_heap_table_size所设置的内存上限后报错。
3. 表定义保存在磁盘上<<,数据和索引保存在内存里面<。
4. 不能包含TEXT、BLOB等字段。
临时表:
1. 通过参数控制:tmp_table_size大小来设定临时表大小。
2. 到达tmp_table_size上限后会在磁盘上创建临时文件<。
3. 表定义和数据都在内存里<。
4. 可以包含TEXT, BLOB等字段<。

临时表一般都很少用,而且要用也一般是在程序中动态创建或者由MySQL内部根据SQL执行计划需要自己创建。

内存表则大多数是当Cache用,在早期一台机器没有装Memcache等第三方cache时<,h内存表无疑是cache的最好的选择了。而如今随着memcache<<、NoSQL的流行<,内存表就越来越少人使用了

原文:http://www.chinawobo.com/q/255/mysql+什么样情况使用临时表,内存表来加快速度?

友荐云推荐
  • 转载请注明来源:网站运营 网址:http://www.chinawobo.com/ 向您的朋友推荐此文章
  • 特别声明: 本站除部分特别声明禁止转载的专稿外的其他文章可以自由转载<,但请务必注明出处和原始作者。文章版权归文章原始作者所有<。对于被本站转载文章的个人和网站<,我们表示深深的谢意。如果本站转载的文章有版权问题请联系我们<,我们会尽快予以更正<<。
RSS订阅
  • QQ邮箱
  • 填写您的邮件地址<,订阅我们的精彩内容:
更多
© 2014 网站运营 - T086.com(原itlearner.com)
微商货源 | 冠珠陶瓷 | 迪威乐云商devmsn | 易奇八字 | wwe美国职业摔角 | 八字算命 | 河南旅游景点大全 |
RunTime:6.11ms QueryTime:7