Mat*_*Gal 6 mysql sql database performance memory-alignment
如果动态行向末端移动,则获取数据的速度之间是否存在任何差异.
例如:int,int,int,text是否比int int text int好?
我的领导告诉我这个事实,从互联网上怎么没有这样的信息?请帮忙 ?
这是由于数据对齐造成的。INT占用 4 个字节,因此 32 位(相当于 4 个字节)处理器将以 4 字节序列处理数据。能够以最适合处理器的顺序提取数据将带来更快的结果和更好的性能。
参考: http: //en.wikipedia.org/wiki/Data_struction_alignment
现在,这是通过通信通道传输数据时经常发现的问题(因为某些编译器通常会通过添加保留字节来对某些成员进行 4 字节对齐来优化数据结构)。然而,MySQL 引擎也考虑了 4 字节对齐NDBCLUSTER。这意味着,通过将TEXT结构放置在值之间INT,您会强制进行不必要的数据检索。
因此:
INT INT INT INT TEXT的处理速度比INT INT TEXT INT INT处理器可以INT立即检索 16 字节(四个)而不用担心 的大小更快TEXT。
有关更多详细信息,请参阅MySQL 文档:
http://dev.mysql.com/doc/refman/5.5/en/storage-requirements.html