Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/56.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 VARCHAR(n)表的性能是否定期地以n值递增?_Mysql - Fatal编程技术网

MySQL VARCHAR(n)表的性能是否定期地以n值递增?

MySQL VARCHAR(n)表的性能是否定期地以n值递增?,mysql,Mysql,或者MySQL是否针对特定的n值(例如2的幂)进行了优化?它没有针对任何类型的大小进行优化-这是一个简单的情况,即较大的varchar字段需要更长的时间来处理(oo-er)。优化它的唯一方法是将它限制在所需的最长长度。它没有针对任何类型的大小进行优化-这是一个简单的情况,较大的varchar字段需要更长的时间来处理(oor)。优化它的唯一方法是将它限制在所需的最长长度。MySQL保留有关特定VARCHAR字段中字符串的确切长度的额外信息。它需要1或2个字节来存储此数据。最多255个字节,MySQ

或者MySQL是否针对特定的n值(例如2的幂)进行了优化?

它没有针对任何类型的大小进行优化-这是一个简单的情况,即较大的varchar字段需要更长的时间来处理(oo-er)。优化它的唯一方法是将它限制在所需的最长长度。

它没有针对任何类型的大小进行优化-这是一个简单的情况,较大的varchar字段需要更长的时间来处理(oor)。优化它的唯一方法是将它限制在所需的最长长度。

MySQL保留有关特定VARCHAR字段中字符串的确切长度的额外信息。它需要1或2个字节来存储此数据。最多255个字节,MySQL只需要额外的1个字节来存储VARCHAR的长度。在255以上,它将使用2个字节。所以有一个例子,某个n很重要。但除此之外,shorter更好,因为MySQL在处理涉及这个VARCHAR列的事情时需要使用更多的内存。如果使用VARCHAR(1000)和VARCHAR(20),那么进行排序或使用内存中临时表的操作将花费更多的成本


Oreilly的高性能MySQL的模式优化和索引章节中有好几页介绍了这一点。

MySQL保留了关于某个VARCHAR字段中字符串的确切长度的额外信息。它需要1或2个字节来存储此数据。最多255个字节,MySQL只需要额外的1个字节来存储VARCHAR的长度。在255以上,它将使用2个字节。所以有一个例子,某个n很重要。但除此之外,shorter更好,因为MySQL在处理涉及这个VARCHAR列的事情时需要使用更多的内存。如果使用VARCHAR(1000)和VARCHAR(20),那么进行排序或使用内存中临时表的操作将花费更多的成本


Oreilly的高性能MySQL的模式优化和索引章节中有好几页介绍了这一点。

你说的“降级”是什么意思?为什么会呢?不确定——没有什么是免费的。如果它没有以某种方式退化,为什么要说VARCHAR(10)而不是VARCHAR(65000)?原因有很多,主要原因是“准确地为您的域建模”。如果您没有测量到存在问题,请停止担心您没有的问题!你说的“降级”是什么意思?为什么会呢?不确定——没有什么是免费的。如果它没有以某种方式退化,为什么要说VARCHAR(10)而不是VARCHAR(65000)?原因有很多,主要原因是“准确地为您的域建模”。如果您没有测量到存在问题,请停止担心您没有的问题!