У меня есть таблица, разделенная по дате в формате ггггММдд. Если я сделаю простой запрос вроде этого:
SELECT COUNT(*) FROM MyTable WHERE Date >= '20140924'
затем он будет сканировать данные за 3 дня (сегодня 26-е). Однако я хотел бы, чтобы мой запрос всегда смотрел на последние 3 дня, поэтому я пишу его так:
SELECT COUNT(*) FROM MyTable
WHERE date >= from_unixtime(unix_timestamp() - 259200, 'yyyyMMdd')
Проблема в том, что теперь он сканирует каждый раздел. Есть ли способ заставить его предварительно вычислить часть запроса после большего?