我在這裏有一個包含數百萬個條目的表。該表存儲事件,每個事件都有一個時間戳。鑑於一些WHERE子句params,我想要最近的事件。SQL查詢獲取最近的行 - 針對Vertica DB進行了優化
這是我們想出了:
SELECT *
FROM eventTable
WHERE timestamp_date >= '2012-07-16' AND
eventType = 1 AND someOtherField = 'value'
ORDER BY timestamp DESC
LIMIT 1;
目前這種正在太長的方式返回。有沒有辦法改變SQL,讓我們更快地得到我們想要的東西?另外,是否有像這樣的投影策略?
感謝 何塞
你有時間戳字段的索引 – adrianj98
這可能[有趣](http://www.vertica.com/2010/11/23/life-beyond-indices-the-query-benefits-of-storing -sorted-data /) – adrianj98
你對這張表有什麼預測? – Nija