摘要:
更小的通常更好 一般情况下尽量选择可以正确存储数据的最小数据类型 数据类型越小通常越快,因为他们占用更少的磁盘、内存和cpu缓存 尽可能简单 简单数据类型的操作通常需要更少的cpu周期,例如整数比字符操作代价更低,因为字符集和校对规则使得字符相比整型更复杂 应该使用MySQL的内建类型date、ti 阅读全文
摘要:
DATATIME 能保存大范围的值,从1001-9999年,精度为秒 把日期和时间封装到了一个整数中,与时区无关 使用8字节存储空间 TIMESTAMP 和UNIX时间戳相同 只使用4字节的存储空间 范围比DATATIME小的多,只能表示1970-2038年,并且依赖于时区 阅读全文
摘要:
如果需要快速访问数据,并且这些数据不会被修改,重启以后丢失也没关系,这样的情况下使用memory表很有用。memory表至少比myisam快一个数量级,因为所有的数据都保存在内存,不需要磁盘IO,memory表的结构在重启后会保留,但是数据会丢失。 memory表支持哈希索引,因此查找速度极快。但是 阅读全文
摘要:
MySQL5.1以及之前,myisam是默认存储引擎,myisam提供了大量的特性,包括全文索引、压缩、空间函数等,但不支持事务和行锁,最大的缺陷是崩溃后无法安全恢复。对于只读的数据或者表比较小、 可以忍受修复操作的情况,还是可以选择用myisam。 myisam将表存储在数据文件和索引文件中,分别 阅读全文
摘要:
InnoDB是==MySQL的默认事务型引擎==,用来处理大量短期事务 InnoDB的==性能和自动崩溃恢复特性==使得它在非事务型存储需求中也很流行,所以我们优先考虑InnoDB InnoDB的数据存储在表空间中,表空间由一系列数据文件组成。MySQL4.1之后,InnoDB可以把每个表的数据和索 阅读全文