我正在考虑一个问题。
在C语言中,我们建议struct的大小应该是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 Linoff)遇到同样的问题吗?
此外,如何通过控制表格大小来优化MySQL?
答案 0 :(得分:1)
首先,您指的是记录大小而不是表格大小。
其次,数据库不像过程语言那样工作。记录存储在页面上,这些页面将被填满,直到不再合适为止。然后使用其他页面。通常,页面上有许多记录。
您可以了解网页的内容here。它们很复杂,但基本上对用户隐藏。
听起来你正在尝试“过早优化”。这不是所有邪恶的根源,但它是完成事情的主要分心。换句话说,根据需要定义记录。做你想做的事。如果您遇到性能问题,请在出现问题时进行修复。
记录的大小将是您遇到的最少问题。数据库以页为单位执行I / O,因此对于单个记录,12到16个字节之间的差异是没有意义的。你仍然需要阅读整个页面(更大)。