ほとんど同じである 2 つのかなり遅い SQL クエリを実行するスクリプトがあります。ページで「特集」されると思われるデータベース レコードから選択します。つまり、それらが最初に表示されます。もう 1 つはデータベースから通常のレコードを選択します。各クエリには約 0.3 秒かかりますが、両方が同時に実行されるため、0.6 秒を失います。したがって、これらのクエリを組み合わせることが可能かどうか疑問に思っていました。それらは次のようになります。
SELECT * FROM records WHERE [other where conditions] AND featured>=$timestamp ORDER BY featured DESC
SELECT * FROM records WHERE [other where conditions] AND featured<$timestamp ORDER BY created DESC
私がラベル付けした [その他の条件] は、どちらの場合も同じです。したがって、私が本質的に行う必要があるのは次のとおりです。
SELECT * FROM records WHERE [other where conditions] ORDER BY featured DESC UNLESS featured < $timestamp, created DESC
ただし、MySQL に「ORDER BY ... UNLESS」と伝える方法がわかりません。