我有两张桌子。表1是10密耳行,表2是1密耳行。我需要用regexp搜索Table2然后加入表。
当我这样做时:
SELECT * FROM table2
LEFT JOIN table1
ON table1.ID1=table2.ID2
WHERE table2.column REGEX 'regexp'
查询永远不会完成。
然而,当我杀死mysqld进程时,它会显示结果(在PHPMyAdmin中),显示的执行时间仅为0.07秒。
如果我使用LIKE而不是REGEXP,那么没有问题,如果我单独在table2上使用REGEX也没有问题。
ID1& ID2已编入索引。如果我解析了选择,它会显示使用的键。
任何想法,出了什么问题?
答案 0 :(得分:0)
事实证明,整个问题是两个表中的ID字段属于不同的类型(mediumint与int)。一旦我将它们都更改为int,查询就很快。 由于引擎是MyISAM,我无法使用可能让我更快意识到问题的外键。