私は数百万行のテーブルを持っています。クライアントのhundresがこのテーブルに同時にアクセスしています。それぞれ一意的な行が20個あり、最後に行を配置する必要があります。複数のクライアントに一意の結果を同時に提供
私のセットアップは次のとおりです。
表構造:
id | last_access | reserved_id | [Data columns]
id + last_access is indexed
私は以下を使用し20の一意の行を選択する:
UPDATE "table" SET "reserved" = 'client-id_timestamp' WHERE "reserved" = ''ORDER BY "last_access" ASC LIMIT 20
この更新クエリが非常に悪いパフォーマンスが賢明である、ですなぜ私は尋ねる:
私の特定の要件のためのより良い解決策はありますか?おそらく別のテーブル構造ですか?
引用符ではなく列名の前後にバッククワースを使用します。引用符は文字列です。 –
これは単なる例ですが、とにかく書き留めました。 – Jeppe