如何对1500万条记录进行快速搜索


How to do fast search on 15 million records

我有一个包含600条记录的excel文件,我将把它与数据库中的1500万条记录进行比较。对于每个excel记录,我需要从1500万条记录中找到匹配项。目前,完成该过程大约需要4个小时。我想把它减到最少2个小时。

  1. 将excel导出为CSV
  2. 将CSV导入mysql(LOAD)
  3. 在关键列上创建索引(要与1500万条记录进行比较的列)
  4. 请确保15M记录表在比较键上设置了正确的索引
  5. 编写一个简单的查询,将两个表与所需的条件连接起来

所有这些观点都相当琐碎,留给读者练习。

尝试

如果未完成索引:对你正在比较的字段进行索引,结果会很神奇。

如果可能的话,避免使用LIKE查询并更改WHERE查询的顺序。

例如:WHERE city = "New York" AND name LIKE "XYZ" AND mobile=7777777777 AND status=1

它应该像

WHERE status=1 AND mobile=7777777777 AND city = "New York" AND name LIKE "XYZ"

flags、int、chars和varchars的序列,就像最后一样,这很重要。