13. どんな質問がきて,どんな事をするの?
例:効率的なクエリへの修正 (Before)
SELECT
ac.v['action'] AS action,
ac.v[‘category’] AS category
count(bt.v['uid']) AS num
FROM breakaway_time bt
LEFT OUTER JOIN access ac
ON bt.v['time']=ac.v['time'] AND bt.v['uid']=ac.v['uid']
WHERE unix_timestamp()-10*86400 < CAST(bt.v['time'] AS BIGINT)
AND unix_timestamp()-10*86400 < CAST(ac.v['time'] AS BIGINT)
GROUP BY ac.v[‘action’], ac.v[‘category’]
2h 30mins
14. どんな質問がきて,どんな事をするの?
例:効率的なクエリへの修正 (After)
SELECT
ac.action AS action,
ac.category AS category,
count(bt.uid) AS num
FROM breakaway_time bt
LEFT OUTER JOIN access ac
ON bt.time=ac.time AND bt.uid=ac.uid
WHERE TD_TIME_RANGE(bt.time, TD_TIME_ADD(TD_SCHEDULED_TIME(), "-10d"))
AND TD_TIME_RANGE(ac.time, TD_TIME_ADD(TD_SCHEDULED_TIME(), "-10d"))
GROUP BY ac.category, ac.action
スキーマを設定
TIME INDEX PUSHDOWNを有効化
スキーマを設定
(現在は自動付与なので考慮しなくて良い)
カーディナリーが高い順に整列
30mins