(三)Schema与数据类型优化

1.Schema

schema,中文叫模式,是数据库的组织和结构

2.选择优化的数据类型

更小的通常更好:尽量使用可以正确存储数据的最小数据类型

简单就好:简单数据类型的操作通常需要更少的cpu周期。例如:整型比字符操作代价更低

尽量避免NULL:因为可为NULL的列使得索引、索引统计和值比较都更复杂,也会使用更多的存储空间

3.BLOB和TEXT

BLOB和TEXT都是为存储很大的数据而设计的字符串数据类型,分别采用二进制和字符方式存储。

BLOB和TEXT家族之间仅有的不同是BLOB类型存储的是二进制数据,没有排序规则或字符集,而TEXT类型有字符集和排序规则。

MySQL对BLOB和TEXT列进行排序时,只对每个列的最前max_sort_length字节而不是整个字符串作排序。

如果查询使用了BLOB或TEXT列并且需要使用隐式临时表,将不得不使用MyISAM磁盘临时表,这会导致严重的性能开销。所以,应该尽量避免使用BLOB和TEXT类型。

4.DATETIME和TIMESTAMP

DATETIME能保存大范围的值,从1001年到9999年,精度为秒。

TIMESTAMP保存了从1970.1.1午夜(格林尼治标准时间)以来的秒数。只能表示从1970年到2038年。

二者可以相互转换

5.ALTER TABLE

在大部分情况下,它都会锁表并且重建整张表。

原文地址:https://www.cnblogs.com/baiye-code/p/11179911.html