当我设置MySQL表时,它要求我定义列的名称,输入类型和长度。我的假设没有读到任何有关它的信息,这是为了最小化。根据需要指定尽可能最小的int/smallint/tinyint,这会减少某种类型的开销。如果这是所有的积极因素,使它无符号地加倍你的空间,等等。设置MySQL架构时,为什么要使用某些类型?
如果我只是使每个字段为varchar-200个字符会发生什么?何时/为什么这么糟糕,我会错过什么,什么时候会出现低效率? 100K记录?
我每次创建数据库时都会考虑这个问题,但是我没有构建任何足够的扩展功能,以至于我的方案设置不当,无论是“严格/小”还是“松散/大” 。有人可以证实我对速度和效率做出了很好的假设吗?
谢谢!
我想添加改变用于表连接的字段长度和类型,确保你总是在两个地方改变它们。对于非相同的索引,表格连接几乎和没有索引一样慢。 – 2009-10-16 19:58:01