Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/63.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql表大小的优化_Mysql_Database_Database Optimization - Fatal编程技术网

Mysql表大小的优化

Mysql表大小的优化,mysql,database,database-optimization,Mysql,Database,Database Optimization,我在考虑一个问题 在C语言中,我们建议结构的大小应该是2字节的倍数 e、 问题: 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)会遇到同样的问题吗 此外,如何通过控制表大小来优化

我在考虑一个问题

在C语言中,我们建议结构的大小应该是2字节的倍数

e、 问题:

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?

首先,您指的是记录大小,而不是表大小

其次,数据库的工作方式与过程语言不同。记录存储在页面上,直到不再合适为止。然后使用附加页面。通常,一个页面上有许多记录

您可以了解页面的外观。它们很复杂,但基本上对用户隐藏

听起来你在尝试“过早优化”。这并不是所有罪恶的根源,但它是实现目标的主要障碍。换句话说,根据需要定义记录。做你想做的事。如果您有性能问题,请在出现问题时进行修复


记录的大小将是您的最小问题。数据库以页面为单位执行I/O,因此12和16字节之间的差异对于单个记录来说没有意义。您仍然需要阅读整个页面(页面要大得多)。

正如编译器负责在C语言中为您调整内容一样,DBMS也负责在数据库系统中进行调整。嗯,您是对的。我混淆了页面和内存的概念。谢谢你的回答!!