テーブルで実行するバッチ ジョブがあり、準備済みステートメントとして記述できると確信しています。現在、それはすべてJavaで行われており、間違いなく効率的ではありません。次のようなテーブルの場合:
CREATE TABLE thing (
`tag` varchar,
`document` varchar,
`weight` float,
)
すべてのタグの上位 N エントリを含む新しいテーブルを作成したいと考えています。現在、私はこれを行います:
create new table with same schema
select distinct tag
for each tag:
select * limit N insert into the new table
これには、クエリを実行して個別tag
の を取得し、そのタグの上位N
アイテムを選択して挿入する必要があります...すべて非常に非効率的です。
これを行うために使用できるストアド プロシージャ (または単純なクエリ) はありますか? 方言が重要な場合は、MySQL を使用しています。
(そして、はい、私は自分のインデックスをソートしています!)
乾杯
ジョー