1. 选择更小的数据类型:使用正确地存储和表示数据的最小类型。更小的数据类型通常更快,因为他们使用更少的磁盘空间、内存和CPU缓存。但是要保证实际存储的数据不超过设置。
整数类型 |
范围 |
tinyint |
-128到127 |
smallint |
-32768到32767 |
mediumint |
-8388608到8388607 |
int |
-2147483648到2147483647 |
bigint |
-9223372036864775808到9223372036854775807 |
2. 选择简单的数据类型:越简单的数据类型,需要的CPU周期就越少。例如,比较两个整数比比较两个字符串效率更高。时间、IP都可以用integer来存储。
3. 尽量避免null:要尽可能地把字段(field)定义为not null。因为MySQL难以优化引用了可空列的查询。因为null,不等于任何值。它会使索引,索引统计和值更加复杂。
4. 对于有精度要求的字段,使用decimal。
5. 最好不要使用VARBINARY、BLOB存储图片、文件,文件系统更高效。