Mysql 正在寻找为8700万条记录创建哈希的最有效方法以放入查找表中

Mysql 正在寻找为8700万条记录创建哈希的最有效方法以放入查找表中,mysql,Mysql,情况如下: 我有一张有8700万张唱片的桌子 该表包含必须映射到md5哈希的电子邮件地址 为此,我们正在使用email和md5hash创建一个查找表 数据是实时的 在查找表中创建这些md5哈希的最有效方法是什么?有什么理由不这样做吗?: CREATE TABLE lookup ( id INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY, email varchar(255), hash char(32) ); INSERT INTO l

情况如下:

  • 我有一张有8700万张唱片的桌子
  • 该表包含必须映射到md5哈希的电子邮件地址
  • 为此,我们正在使用email和md5hash创建一个查找表
  • 数据是实时的

在查找表中创建这些md5哈希的最有效方法是什么?

有什么理由不这样做吗?:

CREATE TABLE lookup (
 id INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY,
 email varchar(255),
 hash char(32)
);

INSERT INTO lookup (email, hash)
 SELECT email, md5(email)
 FROM bigtable;

它在开发时间、代码大小、执行时间等方面都很有效。如果数据在快速变化,可能需要更复杂的东西。但是对于在缓慢变化的表上进行初始创建,这应该可以很好地工作。

由于表是活动的,我想已经实现了动态哈希,因此使用
INSERT IGNORE
也会有所帮助。