[TOC]
Mysql储存引擎
特点 | MyISAM | InnoDB | Memory | MERGE | NDB |
---|---|---|---|---|---|
存储限制 | 有 | 64TB | 有 | 没有 | 有 |
事务安全 | - | 支持 | - | - | - |
锁机制 | 表锁 | 行锁 | 表锁 | 表锁 | 行锁 |
B树索引 | 支持 | 支持 | 支持 | 支持 | 支持 |
哈希索引 | - | - | 支持 | - | 支持 |
全文索引 | 支持 | - | - | - | - |
集群索引 | - | 支持 | - | - | - |
数据缓存 | - | 支持 | 支持 | - | 支持 |
索引缓存 | 支持 | 支持 | 支持 | 支持 | 支持 |
数据可压缩 | 支持 | - | - | - | - |
空间使用 | 低 | 高 | N/A | 低 | 低 |
内存使用 | 低 | 高 | 中等 | 低 | 高 |
批量插入的速度 | 高 | 低 | 高 | 高 | 高 |
支持外键 | - | 支持 | - | - | - |
Mysql储存类型
整数类型
整数类型 | 字节 | 最小值 | 最大值 | 用途 |
---|---|---|---|---|
tinyint | 1 | 有符号-128 无符号0 | 有符号127 无符号255 | 小整数值 |
smallint | 2 | 有符号-32768 无符号0 | 有符号32767 无符号65535 | 大整数值 |
mediumint | 3 | 有符号-8388608 无符号0 | 有符号8388607 无符号1677215 | 大整数值 |
int | 4 | 有符号-2147483648 无符号0 | 有符号2147483647 无符号4294967259 | 大整数值 |
bigint | 8 | 有符号-9223372036854775808 无符号0 | 有符号9223372036854775807 无符号18446744073709551615 | 极大整数值 |
浮点、定点数类型
浮点数类型 | 字节 | 最小值 | 最大值 | 用途 |
---|---|---|---|---|
float(M,D) | 4 | -3.402823466E+38 或 1.17549451E-38 | -1.175494351E-38 <br/>或 3.402823466E+38 | 单精度浮点值 |
double(M,D) | 8 | -1.7976931348623157E+308 或 2.2250738585072014E-308 | -2.2250738585072014E-308 <br/>或 1.7976931348623157E+308 | 双精度浮点值 |
定点数类型 | 字节 | 最小值 | 最大值 | 用途 |
decimal(M,D) | M+2 | 取值范围和double相同,给定decimal有效值范围由M和D决定 | 小数值 |
字符型数据
字符串类型 | 字节 | 描述及存储需求 | 用途 |
---|---|---|---|
char(M) | M | M为0~255之间的整数 | 定长字符串 |
varchar(M) | M为0~65535个字节,值的长度为+1个字节 | 变长字符串 | |
tinyblob | 允许长度0~255个字节,值的长度+1个字节 | 不超过 255 个字符的二进制字符串 | |
blob | 允许长度0~65535个字节,值的长度+2个字节 | 二进制形式的长文本数据 | |
mediumblob | 允许长度0~167772150字节,值的长度+3个字节 | 二进制形式的中等长度文本数据 | |
longblob | 允许长度0~4294967295,值的长度+4个字节 | 二进制形式的极大文本数据 | |
tinytext | 允许长度=~255字节,值的长度+2个字节 | 短文本字符串 | |
text | 允许长度0~65535字节,值的长度+2个字节 | 长文本数据 | |
mediumtext | 允许长度0~167772150字节,值的长度+3个字节 | 中等长度文本数据 | |
longtext | 允许长度0~4294967295,值的长度+4个字节 | 极大文本数据 |
日期、时间类型
日期和时间类型 | 字节 | 最小值 | 最大值 | 用途 | 格式 |
---|---|---|---|---|---|
date | 4 | 1000-01-01 | 999-12-31 | 日期值 | YYYY-MM-DD |
datetime | 8 | 1000-01-01 00:00:00 | 999-12-31 23:59:59 | 混合日期和时间值 | YYYY-MM-DD HH:MM:SS |
timestamp | 4 | 19700101080001 | 结束时间是第 2147483647 秒,北京时间 2038-1-19 11:14:07<br/>格林尼治时间 2038年1月19日 凌晨 03:14:07 | 混合日期和时间值,时间戳 | YYYYMMDD HHMMSS |
time | 3 | -838:59;59 | 838:59:59 | 日期值或持续时间 | HH:MM:SS |
year | 1 | 1901 | 2155 | 年份值 | YYYY |