MySQL表的复杂重新排序

时间:2015-07-05 16:50:21

标签: mysql sql database

我应该做一些非常复杂的表重新排序。

****主表如下:****

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其他相关表格。

任何想法查询的外观如何?执行该查询可能需要半个小时,但问题最少。

0 个答案:

没有答案