我知道在Vertica中設置變量需要很長的時間,所以我想創建一個臨時表並選擇必要的值。這是爲了防止我在多個位置更改時間戳,而無需手動執行或搜索它。但是,使用此臨時表方法時性能明顯惡化。我的問題是爲什麼這樣,是否有更好的解決方法?在vertica中通過臨時表設置變量
我有這樣的代碼:
DROP TABLE DAY_RANGE;
CREATE LOCAL TEMP TABLE DAY_RANGE
(
start_ TIMESTAMP,
finish_ TIMESTAMP
)
INSERT INTO DAY_RANGE(start_, finish_)
SELECT '2016-09-09 00:00:00', '2016-09-10 00:55:55'
select count(*) from clickcache.click cc
where AMP_CLICK_DAY between (select start_ from DAY_RANGE) and (select finish_ from DAY_RANGE)
select start_ from DAY_RANGE
嗨,我不確定我明白你的意思是「在Vertica中設置變量需要很長時間」?你能否列舉一個這樣的例子,因爲我不確定自己明白。 – woot
我其實不知道該怎麼做。我看到一個例子,它非常複雜。如果您有辦法做到這一點,請分享。謝謝! – opamp
沒有辦法在Vertica中爲此目的設置會話變量,這就是爲什麼我有點困惑。雖然有'vsql'客戶端變量。查看我的答案瞭解更多詳情。如果你想指出我看到的例子的方向,我可以幫助解釋它。 – woot