我应该做一些非常复杂的表重新排序。
****主表如下:****
id - some data
1 - ...
2 - ...
3 - ...
6 - ...
9 - ...
12 - ...
正如你所看到的那样,"空" ID(4号和5号之间没有4,5等)。
****表应该看起来像****
id - data
1 - ...
2 - ...
3 - ...
4 - ...
5 - ...
6 - ...
7 - ...
etc (without empty IDs)
我为什么要这样做:这是一个服务器数据库,包含数百万个ID。维护这么大的数字时服务器崩溃了。如果我重新排序ID并且不会有任何空ID,则此表中的MAX ID将低得多,它将阻止服务器崩溃。
最复杂的事情 - 这个表在4-5个不同的表中有外键引用(至少只有ID列引用)。
我的想法是 - 通过ID重新排序主表而不使用空的表,并使用(oldID,newID)结构创建新的临时表,然后将oldID替换为newID& s中的newID' s其他相关表格。
任何想法查询的外观如何?执行该查询可能需要半个小时,但问题最少。