0

そのため、私の仕事では、マスターとスレーブがレプリケーションを行っており、「ON DUPLICATE KEY UPDATE」句を使用して多くの挿入を行う追跡テーブルがあります。テーブルは InnoDB であるため、行レベルでロックされます。現在書き込まれているものからデータを選択するこの1つのクエリがありますが、マスターとスレーブでは動作が異なります。つまり、マスターでは決して終了せず、スレーブでは即座に終了し、理由を知っている。

更新されている揮発性の行を処理するクエリで問題が発生することは理解できますが、より定期的な間隔ではありますが、スレーブでも発生しています。

SELECT SUM(hits) AS hits, DATE(`when`) AS thedate
FROM tracking tr
WHERE tr.geo_country IN('FR') 
AND tr.`when` BETWEEN '2013-08-23 00:00:00' AND '2013-08-23 23:59:59'
GROUP BY thedate

どちらのサーバーでもロックは発生しておらず、show processlist で確認できない単一の行ベースで発生しています。

4

0 に答える 0