我想知道同时搜索多个列的最佳方法是什么,这是在大型数据库上。
例如,我有一个包含 400k 记录的表,我想与另一个具有 1000k 记录的表执行交集。
目前我正在做这样的事情:
alter table t1 add column (hash varbinary(32));
update t1 set hash = md5(concat(col1, col2, col3));
alter table t1 add index (hash);
然后我使用散列列进行查询、连接等...
select * from t1 where t1.hash not in (select t2.hash from t2);
有没有人有类似的经历,或者使用其他技巧或其他可能有趣的东西来分享?