从较小的 INT 类型开始并根据需要增长是否更好?

Mat*_*ete 2 database-design

我正在为我的 ASP.net Web 应用程序设计一个新的 SQL 数据库,我可以预见某些 ID 列在功能需求中会变得非常大INTBIGINT但这不会持续几年。使用 ASP.net 中的实体框架,更改列数据类型相当容易。所以我想知道,从设计的角度和性能的角度来看,开始使用较小的列类型(如TINYINT和 )SMALLINT并在时间最终到来时增长到INT和是否更好BIGINT

小智 6

我建议从一开始就正确调整列的大小。您需要考虑数据的预期增长与应用程序的生命周期。如果您的整数数据需要 100 年才能要求 INT 数据类型,那么如果您认为您的应用程序可能不会存活那么久,您可能会坚持使用 SMALLINT。如果只需要几年时间,那么现在就可以更容易地处理它,而不是在达到 SMALLINT 上限时冒着应用程序失败的风险,或者在接近时冒着忘记修复它的风险。

如果您不这样做,您的应用程序可能会在某个时候失败,可能是在半夜或您最不期望的时候!或者对于负责维护您的应用程序的其他人来说将失败。

如果用户可以忍受在您确定您的数据类型已超出其大小并采取措施修复它时您的应用程序关闭,那么您可以等待。我敢打赌,这不是一个可接受的场景,您希望尽可能使应用程序正常运行时间接近 100%。

不要等待“有一天”的到来,今天就做对!