我有一个mysql网络应用程序,允许用户编辑个人信息。
单个记录跨多个表存储在数据库中。一个表中有一行用于记录,然后是一对多表用于相关信息。一对多表中的行还可以指向其他一对多表。
这就是说,单个个人信息记录的数据是一个非常分散在数据库中的树。
要更新记录,而不是尝试处理大杂烩的更新和删除并插入语句以解决可能从保存更改为保存的所有不同信息,我只需删除整个旧树,然后重新插入一个新的。这在应用程序方面要简单得多,到目前为止它对我来说没有任何问题。
但是我注意到一对多表中的一些自动递增ID开始变得更高。至少在我接近这个与INT的极限碰撞之前的几十年仍然是几十年,更不用说BIGINT了 - 但是我仍然想知道这种方法是否有任何缺点我应该知道。
所以我想我的问题是:对于像我这样的数据库结构,它包含分布在多个表中的大型信息树,当更新信息时,其中任何部分可能已经改变,是否可以删除旧树并重新插入一个新的?或者我应该重新考虑这一点。 IOW是否可以在表格中的行ID之间存在较大差距?
先谢谢你的帮助。
答案 0 :(得分:-1)
如果您的主键已编入索引(他们应该这样做),除了需要不时压缩的数据库文件之外,您不应该遇到问题。
但是,您存储的数据类型可能更好地存储在文档数据库中,如MogoDB,您是否考虑过使用其中一种?