/**
* mysql 存储引擎
*/
//基本概念:一些处理大量临时数据在内存中的存储以及事物功能等不同的需求在mysql中形成了不同的存储引擎,以用来处理不同的需求。
show variables like 'table_type';//查询默认引擎
show engines;//当前支持的引擎
//创建新表的时候可以通过 engine = innodb来设置。
//存储引擎性能对比
MyISAM 默认的存储引擎
不支持事物 外键 访问速度快,适合insert select
在磁盘上存储三个文件:.frm 表定义 .myd 数据 .myi 索引 这样数据和索引可以分开来存放。当表损坏的时候不能访问,可以通过
check table repair table来修复
静态表在返回结果前会去掉原有的空格, 动态表 压缩表
InnoDB 提交 回滚 崩溃恢复事物安全ACID
支持外键约束,
MEMORY 在内存中创建表,访问速度快,使用hash索引,但服务宕机后数据丢失
如何选择合适的存储引擎:
根据情况选用,复杂的应用可能要用到多种引擎并存。
选择合适的数据类型:
char and varcher
char固定长度,检索的时候删除了尾部的空格,处理速度快但浪费空间,程序要对尾部空格进行处理,
text and blob
blob采用二进制保存数据,可以用来保存照片等,
text保存字符 在删除该类型的数据时,会在数据表中留下大量的空洞,所以要定期optimize table
如何提高大字段的查询性能,合成索引来提高,根据打文本字段的内容建立一个散列值,并把这个值存入到单独的数据列中,但是只能用于
精确匹配的查找,
浮点数和定点数
float double浮点数 decimal定点数
mysql存储引擎
最新推荐文章于 2024-10-24 21:33:21 发布