我有這兩個表與成千上萬的數據,我會尋找比賽1:1的兩個表。我有下面的查詢,但在限制已經超過1000回開始變慢,花了將近一個小時,我收到一個結果之前,我用我的本地XAMPP數據庫,這和有一個4G(3.4G可用)RAM PC。爲什麼mysql查詢需要很長時間才能收到結果?
是否有任何其他的方式來提高和使查詢速度更快?
預先感謝您對於那些誰幫助。
SELECT a.rNum,
a.cDate,
a.cTime,
a.aNumber,
a.bNumber,
a.duration,
a.tag,
a.aNumber2,
a.bNumber2,
'hasMatch',
a.concatDate,
a.timeMinutes
FROM tableOne a
INNER JOIN
tableTwo b ON a.aNumber2 = b.aNumber2
AND a.bNumber2 = b.bNumber2
WHERE a.hasMatch = 'valid'
AND (a.duration - b.duration) <= 3
AND (a.duration - b.duration) >= -3
AND TIMEDIFF(a.concatDate,b.concatDate) <= 3
AND TIMEDIFF(a.concatDate,b.concatDate) >= -3
LIMIT 0,100;
謝謝您指出。 這兩個表來自兩個不同的用戶。根據條件,它們都具有相同的aNumber2和bNumber2和所述時間差小於3秒負或正僅然後用這兩個表都條目將被標記爲匹配,但是,如果一個條目具有的其他表中的多個匹配,只有1個條目將在另一個表上標記,其餘的將保持不變。但aNumber的和B-號碼這兩個表可以是不同的或者其他人有一個前綴和其他沒有前綴,反之亦然。 – BlackChub