大きなデータを持つテーブル、誰もカウントステートメントを最適化する方法を知っていますか?オラクル - 大量のデータを持つテーブルの複数のカウントに関するアドバイスが必要
例:テーブル予約(id、email、mobile、....)(約30フィールド)。
Function GetBookingCount(p_email, p_mobile) return number
Select count(id)
from Booking
Where email = p_email
or mobile = p_mobile
Function GetBookingStatus3Count(p_email, p_mobile) return number
Select count(id)
from Booking
Where (email = p_email or mobile = p_mobile)
and status = 3;
最終選択:
Select GetBookingCount(email, mobile) as BookingCount
, GetBookingStatus3Count(email, mobile) as BookingStatus3Count
, ...
From Booking
where ....
解決法1:どのような句は、電子メールのカラム、移動、ステータス列としてカウントする場所でのフィールド列のインデックスを設定します。
解決策2:カウントする列が少ない新しい表を作成します。 新しいテーブル:Booking_Stats(ID、電子メール、モバイル、ステータス)。
ありがとうございます。
ありがとう、あなたのSQLは多分間違っている、働いていない、オラクルのSQLを参照してください – hungudgm