在大型MySQL数据库中用random int替换字符串的最快方法?

时间:2015-03-19 18:00:14

标签: php mysql database

我有一个“相当”的大型MySQL数据库(在某些表中有5,000,000多条记录),其中7个表使用多个表连接进行查询。我唯一的问题是我导入的数据,一些数据集在列中用于连接表的字符串,因此,查询速度非常慢。

我要做的是用随机整数替换所有这些字符串(确保int尚未使用),并且包括(例如xxx_id列)保留old_xxx_id和new_xxx_id的记录以便表格我更新时链接保持正确链接。

我的问题是,最快的方法是什么?我更喜欢php和MySQL,但我对其他语言/ sql-databases开放。我有一个可行的脚本,但它逐行替换,可能需要数小时,有时需要一两天才能将新数据插入数据库。

谢谢!

1 个答案:

答案 0 :(得分:0)

CRC或Hash会优于随机数。

$number =  hexdec(crc32($str));