最適化の問題があります。私はまだ MySQL インデックスにはあまり興味がありません。いくつかの記事と質問を読みましたが、探しているものが見つかりませんでした。
ほぼ 100 万行のテーブルに WHERE 条件を指定した UPDATE ステートメントがあります。
この UPDATE 操作を高速化したいと考えています。ほとんどの時間は、WHERE で指定されたレコードを探すことに費やされていると思います。
私のクエリは、さまざまな URL で次のようになります。
UPDATE table SET updated = 1, updated_date = now() , [some more fields updated]
WHERE url = 'someurl.com?id=123532js23';
URL は一意です。現在、PRIMARY KEY として定義されている AUTO INREMENT id フィールドがあります。<、>、または BETWEEN 操作は必要ないので、ハッシュを使用できますか?
最高のパフォーマンスを得るには、どのエンジンとインデックスを使用する必要がありますか?
私の友人の 1 人が、URL フィールドで InnoDB + UNIQUE を使用することを提案しました。他にできることはありますか?この UPDATE は本当に何度も実行されます。毎日約 1 000 000 回実行され、ほとんどの実行で更新が行われます (約 95%)。
助けてくれてありがとう!