MySQL的内存表
来源:互联网 发布:java转义字符 & 编辑:程序博客网 时间:2024/06/09 21:37
我们在做网站时,偶然遇到一个问题:网站工作时,有时需要一些不变的资源表,需要根据不同的人的信息,去查表寻找对应需要的数据。
由于每个人都需要查表,效率就十分重要了,如果都使用磁盘中的数据,性能肯定不行,但如果存储成为资源文件,那么就不能方便的利用SQL语句的灵活查询条件,查表的算法还需自己编写。
结合两个问题考虑,得出的结论就是——内存表。
内存表的特性
所谓“内存表”,即为数据保存在内存中的MySQL表,使用上和其他表并没有显著区别,主要特点是在MySQL退出后,其数据会自动消失,并不会持久化。
除此以外,内存表可能最大的问题是不支持变长的类型,这使得在建表时要格外小心。
对于varchar等变长类型,内存表使用固定的长度来存放;
内存表可以有非唯一键;
内存表不能包含BLOB或者TEXT列;
内存表支持插入延迟,使读取优先;
内存表的建立
建立内存表的时候,在5.5里,需要指定表的引擎类型 ENGINE=MEMORY
CREATE TABLE `test` ( `id` int(11) AUTO_INCREMENT, `name` varchar(255)) ENGINE=MEMORY DEFAULT CHARSET=utf8 ROW_FORMAT=COMPACT;
其余操作:
-- 删除数据delete from test;
或者
-- 清空表truncate table test;
再或者
-- 删除表drop table test;
内存表的初始化
但数据会在重启后丢失,这点十分不便,为此,我们需要初始化内存表,使得其包含要使用的数据。
使用方法很简单,直接添加到配置文件,比如my.cnf.
添加:
[server] 或者 [mysqld] 或者 [mysqld_safe]
init-file=”Your file location”
请确保init-file指定的脚本每行是一个具体的语句,不要多行写一个语句。
本文属西风逍遥游原创, 转载请注明出处: 西风世界http://blog.csdn.net/xfxyy_sxfancy
0 0
- MySQL的内存表
- mysql的内存表
- Mysql内存表的用处
- Mysql内存表的用处
- MySQL的内存表的局限性
- mysql的内存表和临时表
- MYSQL 内存表的使用总结
- MySql的内存使用
- MySql的内存使用
- mysql的内存管理
- MySql的内存使用
- MySql 内存表使用
- MySQL内存表
- mysql 内存表 性能
- mysql 内存表
- MySQL内存表
- MySQL-内存表
- mysql 内存表
- 定时任务会重复执行俩次的解决方法
- TP框架中的自动验证功能$_validate
- Java多线程系列--“JUC锁”02之 互斥锁ReentrantLock
- netty concepts
- 定时任务会重复执行俩次的解决方法
- MySQL的内存表
- Java中list用法
- IOS实现点击软键盘的Next/Return按钮或者空白处后自动隐藏键盘
- 定时任务会重复执行俩次的解决方法
- spring中PropertyPlaceholderConfigurer的使用
- Material Designer设计语言整理
- 定时任务会重复执行俩次的解决方法
- 定时任务会重复执行俩次的解决方法
- 定时任务会重复执行俩次的解决方法