У меня вопрос о самом быстром способе выполнения запроса SQL Server в таблице, TheTable, который имеет следующие поля: TimeStamp, Col1, Col2, Col3, Col4
Я не поддерживаю базу данных, я просто могу доступ к нему. Мне нужно выполнить 10 вычисления, которые подобны:Самый быстрый способ выполнить среднее время для нескольких вычислений в SQL?
Col2*Col3 + 5
5*POWER(Col3,7) + 4*POWER(Col2,6) + 3*POWER(Col1,5)
Тогда я должен найти AVG и MAX результатов расчета с использованием данных из выбранного дня (есть 8 месяцев данных в базе данных до сих пор) , Поскольку данные отбираются каждые 0,1 секунды, в каждый расчет входит каждый из 864000 строк. Я хочу, чтобы запрос выполнялся как можно быстрее. Есть ли лучший способ:
SELECT AVG(Col2*Col3 + 5),
AVG(5*POWER(Col3,7) + 4*POWER(Col2,6) + 3*POWER(Col1,5)),
MAX(Col2*Col3 + 5),
MAX(5*POWER(Col3,7) + 4*POWER(Col2,6) + 3*POWER(Col1,5))
FROM TheTable
WHERE TimeStamp >= '2010-08-31 00:00:00:000'
AND TimeStamp < '2010-09-01 00:00:00:000'
Спасибо!
Я новичок в SQL - будут ли эти столбцы стать постоянной частью таблицы? Я должен был упомянуть, что это база данных, которую я не поддерживаю. – KAE
Да, они будут. Смотрите мое второе предложение. – RedFilter
Большое спасибо. Как только я узнаю, как сделать Indexed View, я отправлю код. – KAE