为什么我们在MYSQL中限制列的长度值

时间:2012-11-08 10:36:04

标签: mysql database

当我们为我们的应用程序创建数据库时,我们限制了数据库列的长度。

示例 -

  1. String(200)
  2. int(5)
  3. 速度或效果有什么影响吗?

3 个答案:

答案 0 :(得分:5)

首先,一个不限制“数据库”的长度。相反,确实限制了数据库中表的列的大小。

为什么我们这样做,你问?

  1. 我们不想为永远不会使用它的数据浪费任何空间(这就是varchar,varbinary等的用途)。
  2. 这是一种最佳做法,因为它会强迫您在实际使用之前考虑数据结构。
  3. 数据越少,处理应用程序的速度就越快(这是重言式)。
  4. 如果您知道可以承担多少空间,则可以更轻松地验证您的数据。
  5. 大小限制时,全文索引会大大增加

答案 1 :(得分:0)

我能想到的一个原因是,当你没有指定列数据类型的长度时,MYsql引擎将假定一个默认长度值,它可能比实际数据的长度大得多。存储在该列中。因此,最好不要忽略列的长度属性。

答案 2 :(得分:0)

限制数据库字段的长度可确保数据验证,您不会获得任何长度超出指定长度的意外数据。某些字段也无法编入索引,例如LONG,因此请适当明智地选择。在性能方面,效果可以忽略不计。您还需要考虑数据本身,例如以UTF-8等unicode编码存储数据可能会增加存储要求。