我有兩個MYSQL表,A和B.表A有44,902行,而表B有109,583行。 我想比較兩個表中的兩列,並返回表A中找到匹配的行。我的,不成功的查詢是:Mysql查詢需要300多秒
SELECT pool.domain_name FROM `pool`, `en_dict` WHERE pool.domain_string = en_dict.word
和另一種變體:
SELECT a.domain_name FROM `pool` as a inner join en_dict as b on a.domain_string = b.word
這兩種解決方案falied在300秒鐘後將返回任何值。
我該怎麼做才能減少找到匹配的時間?
P.S.我試圖在查詢結尾添加一個LIMIT,並設法在245秒內顯示10個結果。
編輯:我的表結構如下:
--
-- Table structure for table `en_dict`
--
CREATE TABLE `en_dict` (
`word_id` bigint(20) unsigned zerofill NOT NULL AUTO_INCREMENT,
`word` varchar(35) NOT NULL,
PRIMARY KEY (`word_id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=109584 ;
-- --------------------------------------------------------
--
-- Table structure for table `pool`
--
CREATE TABLE `pool` (
`domain_id` bigint(20) unsigned zerofill NOT NULL AUTO_INCREMENT,
`domain_name` varchar(100) NOT NULL,
`domain_tld` varchar(10) NOT NULL,
`domain_string` varchar(90) NOT NULL,
`domain_lenght` int(2) NOT NULL,
`domain_expiretime` date NOT NULL,
PRIMARY KEY (`domain_id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=44903 ;
你對你的表定義鍵? –
請列出您的表格結構.. –
您是否編入了'pool.domain_string'和'en_dict.word'? – Mischa