アルファベットの各文字について2つの結果を持つインデックスページを作成したいと思います。データベース内の各文字の結果を表示するパフォーマンスが良い方法はありますか?
SELECT url_slug, name FROM artists WHERE name LIKE "A%" ORDER BY rand() LIMIT 10
SELECT url_slug, name FROM artists WHERE name LIKE "B%" ORDER BY rand() LIMIT 10
SELECT url_slug, name FROM artists WHERE name LIKE "C%" ORDER BY rand() LIMIT 10
SELECT url_slug, name FROM artists WHERE name LIKE "D%" ORDER BY rand() LIMIT 10
SELECT url_slug, name FROM artists WHERE name LIKE "E%" ORDER BY rand() LIMIT 10
SELECT url_slug, name FROM artists WHERE name LIKE "F%" ORDER BY rand() LIMIT 10
は、別のは、これを達成するために、よりパフォーマンスに優しい、方法があります:私はこれを持っている時点では
?
p.s.私は 'rand()'による注文はあまり良くないと知っています。しかし、これは開発中です。
は、 'name'の列がインデックス化されていますか?そうでなければ、それは大きく助けなければならない。 –
はいです。私は現時点でパフォーマンスの問題はありません..しかし、何かを26回選択することは「間違っている」と思われます。これは他の方法で行うことができますか? –