我在考虑一个问题。
在C语言中,我们建议结构的大小应该是2字节的倍数.
e.q.:
struct text{
int index;//assume int is 4 byte.
char [8] word;
}//alought text is only 12 bytes, compiler would assign 16 bytes for this struct因此,我想知道MySQL的记录大小(感谢Gordon )是否也遇到了同样的问题?
此外,如何通过控制表的大小来优化MySQL?
发布于 2014-06-29 16:15:16
首先,您指的是记录大小,而不是表大小。
第二,数据库的工作方式与过程语言不同。记录存储在页面上,这些页面被填满,直到不再合适为止。然后使用其他页面。通常,一个页面上有许多记录。
您可以了解一个页面是什么样子的这里。它们很复杂,但对用户基本上是隐藏的。
听起来你在尝试“过早优化”。这并不是所有邪恶的根源,但它是一个主要的分心,以使事情完成。换句话说,根据需要定义记录。做你想做的事。如果您有性能问题,那么在出现这些问题时修复它们。
一张唱片的大小将是你最小的问题。数据库以页面为单位执行I/O,因此对于单个记录来说,12字节和16字节之间的差异是没有意义的。您仍然需要阅读整个页面(这一页要大得多)。
https://stackoverflow.com/questions/24477843
复制相似问题