我一直在使用SQL约2年,现在一直都在我的脑海。为什么指定自动增量ID的长度
最佳实践说柱的长度分配给你是什么 期待
的SQL想要一个特定的行专门作为主键,但它也是最佳实践的A_I场.. 。但分配的长度是多少?如果留空,则默认为,它代表999,999,999
这似乎不错,但是最佳实践也说明从数据库中从来没有真正明确的东西;只是追加一个0或1来表示删除了,这是存档/恢复的目的。也可用于用户想要清除..什么审计
拿这个例子:
我有一个网站是多年来一直遵循的最佳做法,不从数据库中删除任何东西;我的数据库/网站流量非常繁重,每天都有大量独特的用户/访问者。
现在,如果我保留SQL默认长度为11,如果我的表达到最大长度,然后另一个用户决定注册,会发生什么?它会抛出一个错误,而不会继续,这将导致新用户的宕机时间很少,原因是数据库管理员将不得不登录到SQL并更改长度。哪个不是很大的努力,但它是努力可在早期发展过程中应避免..
我做什么,创建表时是给出这在我的脑海里,东西是告诉我的长度“,这不是良好的做法“,但它避免了上述例子的极小可能性。
当与没有指定长度的text
字段进行比较时,为什么不能在A_I字段方面相同。
不要误解我的意思,我完全理解可用的数据类型。
我已经通过google和so进行了大量的研究,但结果指出了有关改变表格以增加当前长度的问题。这不是我要求的。
总评:
所以,总体来说,我试图问; A_I领域的理想长度是多少?尽量减少抛出错误的细微风险,如果它最大限度地缩短了错误长度,还要记住最佳实践。
您使用的是哪种数据库产品? – 2013-04-06 21:19:48
@CharlesBretana对不起,应该有标签。我使用的是基于Linux/Unix的MySQL – 2013-04-06 21:20:19