Hi,
I am little confisued, as my query taking a lot of time to execute. I have created indexes too. But still I am not happy with time its taking to execute.
My query :
SELECT
A.SESSIONLOGID , A.LOGINTIME , A.LOGOUTTIME
, D.TABLENAME, D.LIMIT,
COUNT(B.PLAYERINMONEYID) NUMBER_OF_GAMES ,
SUM(((((floor((((F.STOPTIME-F.STARTTIME)*24*60*60) -
floor(((F.STOPTIME-F.STARTTIME)*24*60*60)/3600)*3600)/60))*60) +
(round((((F.STOPTIME-F.STARTTIME)*24*60*60) -
floor(((F.STOPTIME-F.STARTTIME)*24*60*60)/3600)*3600 -
(floor((((F.STOPTIME-F.STARTTIME)*24*60*60) -
floor(((F.STOPTIME-F.STARTTIME)*24*60*60)/3600)*3600)/60)*60))))))/60) TOTAL_TIME,
A.USERID,SUM(B.PLAYERRAKE) TOTAL_RAKE,SUM(B.BETAMOUNT) STAKES, D.LOWSTAKE || '/' || D.HIGHSTAKE HIGHLOW
FROM
PLAYERGAMELOG_R B
, SESSIONLOG A
, GAMEPOKERLOG C
, GAMETABLE D
, GAMELOG F
, PLAYERINMONEY E
WHERE
(E.SESSIONLOGID = A.SESSIONLOGID)
AND (B.GAMEPOKERLOGID = C.GAMEPOKERLOGID)
AND (C.POKERGAMETABLEID = D.POKERGAMETABLEID)
AND (C.GAMELOGID = F.GAMELOGID)
AND (E.PLAYERINMONEYID = B.PLAYERINMONEYID)
GROUP BY
A.SESSIONLOGID
, D.TABLETYPE
, A.LOGINTIME
, A.LOGOUTTIME
, D.TABLENAME
, D.LIMIT
, A.USERID
, D.LOWSTAKE
, D.HIGHSTAKE;
Total Records APPX:
A = 470000
B = 1500000
C = 80000
F = 2000000
It would be helpful if some one can tell me on what coulmns I should have indexes that makes my query run faster.
Thanks in Advance
venu
I am little confisued, as my query taking a lot of time to execute. I have created indexes too. But still I am not happy with time its taking to execute.
My query :
SELECT
A.SESSIONLOGID , A.LOGINTIME , A.LOGOUTTIME
, D.TABLENAME, D.LIMIT,
COUNT(B.PLAYERINMONEYID) NUMBER_OF_GAMES ,
SUM(((((floor((((F.STOPTIME-F.STARTTIME)*24*60*60) -
floor(((F.STOPTIME-F.STARTTIME)*24*60*60)/3600)*3600)/60))*60) +
(round((((F.STOPTIME-F.STARTTIME)*24*60*60) -
floor(((F.STOPTIME-F.STARTTIME)*24*60*60)/3600)*3600 -
(floor((((F.STOPTIME-F.STARTTIME)*24*60*60) -
floor(((F.STOPTIME-F.STARTTIME)*24*60*60)/3600)*3600)/60)*60))))))/60) TOTAL_TIME,
A.USERID,SUM(B.PLAYERRAKE) TOTAL_RAKE,SUM(B.BETAMOUNT) STAKES, D.LOWSTAKE || '/' || D.HIGHSTAKE HIGHLOW
FROM
PLAYERGAMELOG_R B
, SESSIONLOG A
, GAMEPOKERLOG C
, GAMETABLE D
, GAMELOG F
, PLAYERINMONEY E
WHERE
(E.SESSIONLOGID = A.SESSIONLOGID)
AND (B.GAMEPOKERLOGID = C.GAMEPOKERLOGID)
AND (C.POKERGAMETABLEID = D.POKERGAMETABLEID)
AND (C.GAMELOGID = F.GAMELOGID)
AND (E.PLAYERINMONEYID = B.PLAYERINMONEYID)
GROUP BY
A.SESSIONLOGID
, D.TABLETYPE
, A.LOGINTIME
, A.LOGOUTTIME
, D.TABLENAME
, D.LIMIT
, A.USERID
, D.LOWSTAKE
, D.HIGHSTAKE;
Total Records APPX:
A = 470000
B = 1500000
C = 80000
F = 2000000
It would be helpful if some one can tell me on what coulmns I should have indexes that makes my query run faster.
Thanks in Advance
venu