データベースに約 50,000 人の Web サイトがあります。統計を作成するには、3 つのテーブルからデータを取得して結合する必要があります。より多くのデータが毎日入ってくるため、ページはますます遅くなります。必要なすべてのデータを結合するテーブルを作成し、そのテーブルから php を実行できるかどうか疑問に思っていました。新しいデータが含まれるように、テーブルの作成を 1 時間ごとまたはその他の内部セットで実行できれば素晴らしいことです。これは可能であり、賢明ですか?いくつかのリソースを教えてもらえますか?
データベースにmysqlを使用しています。
ありがとう!
ここには 3 つのテーブルがあります。村のレベル、居住者のレベル、そしてそれらが存在しない場合は結果を含む不在のテーブルです。
SELECT EU, sum(TF) as TFsum, sum(TT) as TTsum, sum(KID) as Nkid,
sum(ADULT) as Nadult
from
(select EU, b.name as Person,
CASE
WHEN b.RIGHT_EYE_TF=1 THEN 1
WHEN b.LEFT_EYE_TF=1 THEN 1
WHEN c.RIGHT_EYE_TF=1 THEN 1
WHEN c.LEFT_EYE_TF=1 THEN 1
ELSE 0
END AS TF,
CASE
WHEN b.RIGHT_EYE_TT=1 THEN 1
WHEN b.LEFT_EYE_TT=1 THEN 1
WHEN c.RIGHT_EYE_TT=1 THEN 1
WHEN c.LEFT_EYE_TT=1 THEN 1
ELSE 0
END AS TT,
CASE
WHEN AGE <= 9 THEN 1
ELSE 0
END AS KID,
CASE
WHEN AGE >= 15 THEN 1
ELSE 0
END AS ADULT
from
villagedb a LEFT JOIN residentdb b
ON
a.CLUSTER = b.RES_CLUSTER
LEFT JOIN
absentdb c
on
b.RES_HOUSEHOLD_ID=c.RES_HOUSEHOLD_ID AND
b.NAME = c.NAME
GROUP BY EU, b.name
) S
GROUP BY EU