Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > БД в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 27.09.2011, 14:16   #1
ZHDN
Пользователь
 
Регистрация: 25.07.2011
Сообщений: 42
По умолчанию Повторяющаяся ошибка запроса

Код:
DataModule2.QueryPRG.SQL.Text:='SELECT convert(varchar(13), [SimpleTime], 120) + ''.00'' + ''.00'', '+
 ' avg(Chann02), avg(Chann03), avg(Chann04), avg(Chann05), avg(Chann06), avg(Chann07) , avg(Chann08) '+
 ' FROM RGBTEC2.dbo.Data_086508_8_8_8 '+
 ' where SimpleTime between :Param1 and :Param2 '+
 ' group by  convert(varchar(13), [SimpleTime], 120) + ''.00'' + ''.00'''+
 ' ORDER BY 1';
При этом запросе часто вылетает ошибка Время ожидания истекло. Может у кого есть какие мысли как это исправить. Может как то оптимизировать запрос или че нето сделать с компонентом ADO.
Связь MSSQL 2005+ADO.
ZHDN вне форума Ответить с цитированием
Старый 27.09.2011, 22:00   #2
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Попробовал у себя аналогичный запрос. В таблице на 600000 записей, без WHERE, c таким же GROUP BY на поле даты-времени и парочкой AVG - больше минуты. Причем чем больше агрегатных функций тем существенно медленней. Если бы такая проблема стояла у меня сделал бы в таблице дополнительное поле для хранения даты-времени без минут и секунд. Заполнял бы его в триггерах на вставку-обновление из SimpleTime. Само собой индекс по нему. Ну и в запросе соответственно GPOUP BY по этому полю без всяких функциональных наворотов. ИМХО - предполагаю что проблема исчезнет
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 27.09.2011, 22:14   #3
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
Время ожидания истекло.
Такое впечатление что брандмауер или антивирь не пускает
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 28.09.2011, 06:00   #4
rdama
Форумчанин
 
Аватар для rdama
 
Регистрация: 25.07.2009
Сообщений: 533
По умолчанию

А если попробовать собрать вьюшку. И с неё уже тянуть данные по нужному нам условию.
Маразм крепчал. Еноты пели...
R-style Dataknowlege Access Member Account (RDAMA)
rdama вне форума Ответить с цитированием
Старый 28.09.2011, 06:14   #5
ZHDN
Пользователь
 
Регистрация: 25.07.2011
Сообщений: 42
По умолчанию

Код:
DataModule2.QueryPRG.SQL.Text:='SELECT convert(varchar(13), [SimpleTime], 120) + ''.00'' + ''.00'', '+
 ' avg(Chann02), avg(Chann03), avg(Chann04), avg(Chann05), avg(Chann06), avg(Chann07) , avg(Chann08) '+
 ' FROM RGBTEC2.dbo.Data_086508_8_8_8 '+
 ' where SimpleTime between :Param1 and :Param2 '+
 ' group by  SimpleTime'+
 ' ORDER BY 1';
Чет не пойму как group by если так то ваще ересь получается.
ZHDN вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Повторяющаяся инфа Семенов Microsoft Office Word 4 05.12.2010 16:32
Ошибка Запроса weg БД в Delphi 5 04.05.2010 16:19
Ошибка запроса в SQL ==Terman== Microsoft Office Access 3 20.04.2010 19:12
Ошибка в условии запроса boks SQL, базы данных 4 25.10.2007 10:43