私は大規模なデータベースを持っており、各クエリは他の計算の中でいくつかのカウントを行うため、特定のクエリが結果を返すのに約7秒かかります。それをスピードアップするために、これらのカウントがすでに計算されて保存されている新しいルックアップテーブルを作成したいと思います。
テーブルを埋めるプログラムを簡単に作成できることは知っていますが、外部処理なしで同じ結果セットを生成する方法があるかどうかを知りたいです。
たとえば、次の結果セットを考えてみましょう。
SELECT DISTINCT city, state FROM lkp_city_state AS locations;
さて、これらの都市/州の組み合わせのそれぞれについて、それらの中のフェラリスとランボルギーニの数を数えたいと思います。の線に沿った何か
SELECT COUNT(*) as num_ferarris FROM cars WHERE manufacturer = 'ferarri' AND city = locations.city AND state = locations.state
JOIN
SELECT COUNT(*) as num_lambos FROM cars WHERE manufacturer = 'lamborghini' AND city = locations.city AND state = locations.state`
理想的な結果セットの列は次のようになります。
city | state | num_ferarris | num_lambos
これは可能ですか?