我正在考虑一个问题。
在C语言中,建议struct的大小为2字节的倍数。
方程式:
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?
最佳答案
首先,您指的是记录大小,而不是表大小。
其次,数据库的工作方式与过程语言不同。记录存储在页面上,页面会被填满,直到不再适合为止。然后使用附加页面。通常,一个页面上有很多记录。
您可以了解页面的外观here 。它们很复杂,但基本上对用户隐藏。
听起来您正在尝试“过早优化”。这并不是万恶之源,但却是完成任务的主要干扰因素。换句话说,根据需要定义记录。做你想做的事。如果您遇到性能问题,请在出现问题时进行修复。
记录的大小将是最不重要的问题。数据库以页为单位执行 I/O,因此对于单个记录来说 12 和 16 字节之间的差异没有意义。您仍然需要阅读整个页面(该页面要大得多)。
关于mysql - Mysql表大小优化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24477843/