Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Sybase зависание запроса к огромному количеству данных
|
|||
|---|---|---|---|
|
#18+
со временем исправил немного.но это не влияет ТАК на временные затраты ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.01.2007, 10:35 |
|
||
|
Sybase зависание запроса к огромному количеству данных
|
|||
|---|---|---|---|
|
#18+
вопрос: после уточнения некоторых данных вкралась ошибка. sum и avg - убираю.они там не нужны. должна остаться тока группировка, т.к.там для каждой cellName много записей одинаковых.надо одинаковые исключить. я пытался записывать по одной записи от каждой CellName во временную таблицу, потом смотреть какая в таблице CellName есть уже, и запрос делать тока уже для оставшихся. Все "подвисает", как вы догадались. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.01.2007, 10:58 |
|
||
|
Sybase зависание запроса к огромному количеству данных
|
|||
|---|---|---|---|
|
#18+
ой ну группировка тоже тогда не нужна. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.01.2007, 11:06 |
|
||
|
Sybase зависание запроса к огромному количеству данных
|
|||
|---|---|---|---|
|
#18+
может, неверно выше написал. мне надо для каждой CellName иметь в выходном результате только одну запись ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.01.2007, 11:08 |
|
||
|
Sybase зависание запроса к огромному количеству данных
|
|||
|---|---|---|---|
|
#18+
да в селекте - есть но в WHERE нет это значит что вы делаете декартово произведение из этой таблицы и остального резалт сета. для примера, если вы делаете декатрово произведение двух таблиц по 10 000 строк то в результате у вас 100 000 000 строк. и вы еще заставляете сервер сделать после этого группировку... и avg(алиас1..CELL_MAIN.TNUCHCNT) вернет вам одно и то-же значение для всех строк. лучше это вычисление сделать зарание и убрать таблицу CELL_MAIN из селекта. по моему в dblib такой запрос должен отработать: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.01.2007, 11:09 |
|
||
|
Sybase зависание запроса к огромному количеству данных
|
|||
|---|---|---|---|
|
#18+
с Distinct не получается - "виснет" ... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.01.2007, 11:10 |
|
||
|
Sybase зависание запроса к огромному количеству данных
|
|||
|---|---|---|---|
|
#18+
если для cellname должна быть только одна запись, то группировать надо только по cellname а для всех остальных полей пользовать какую-нибудь агрегацию ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.01.2007, 11:14 |
|
||
|
Sybase зависание запроса к огромному количеству данных
|
|||
|---|---|---|---|
|
#18+
спасибо.я понял, что я лох! простите.....вы мне разъяснили и помогли... ОГРОМНОЕ СПАСИБО, DMITRI! Я ВАС ВСЕХ НАПУТАЛ - ТО,ЧТО ВЫ МНЕ НАПИСАЛИ В ЛИСТИНГЕ И ВАШИ МЫСЛИ ВЫШЕ - ВСЕ ВЕРНО. СПАСИБО ЕЩЕ РАЗ....... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.01.2007, 11:18 |
|
||
|
Sybase зависание запроса к огромному количеству данных
|
|||
|---|---|---|---|
|
#18+
Еще одна лажа... алиас1..PEAK_SWITCH ни с какой другой таблицей не связан в WHERE. Уважаемый, да у вас там могут быть миллиарды записей... запомните, все таблицы из условия FROM должны быть связаны в WHERE !!! бывает конечно что и нет, но это скорее очень специфическое исключение ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.01.2007, 11:28 |
|
||
|
Sybase зависание запроса к огромному количеству данных
|
|||
|---|---|---|---|
|
#18+
разве что с переменной так не получается - "подвисает" но сделаю два запроса и выполню просто ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.01.2007, 11:28 |
|
||
|
Sybase зависание запроса к огромному количеству данных
|
|||
|---|---|---|---|
|
#18+
а алиас2..RESOLUTION.resId +10 >= алиас1..PEAK_SWITCH.ID ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.01.2007, 11:33 |
|
||
|
Sybase зависание запроса к огромному количеству данных
|
|||
|---|---|---|---|
|
#18+
onnlyесли взять весь запрос, то вот он: SELECT алиас1..sdmCell.cellName, алиас1..sdmBsc.bscName, алиас1..PEAK_SWITCH.TYPE, Time2.TIME, sum(алиас1..CELL_GPRS.PCHALLATT)as [PCHALLATT], Что-то не похоже это на запрос. Что вот прямо вот так, с русскими буквами, и с [xxx] ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.01.2007, 14:44 |
|
||
|
Sybase зависание запроса к огромному количеству данных
|
|||
|---|---|---|---|
|
#18+
mooon Time2.TIME BETWEEN convert(datetime,'2006-12-24 00:00:00',102) AND convert(datetime,'2006-12-24 00:00:00',102) очень может быть что ф-я convert вычисляется для каждой строки из таблицы Time2. Да не в этом дело. Во-первых, диапазон точечный, это выражение равнозначно выражению Time2.TIME = convert(datetime,'2006-12-24 00:00:00',102) Ну да это бог с ним, тоже ерунда. Главное что такой запрос скорее всего не будет использовать это выражение как SARG (search argument). Потому что чтобы оптимизатор знал конкретую селективность для этого значения, в выражении должна быть константа или параметр хранимой процедуры. А так будет браться средняя селективность по колонке, которая по умолчанию что-то типа 20%, что естественно много для такой большой таблицы. Надо чтобы было так: Time2.TIME BETWEEN '20061224 00:00:00' AND '20061224 00:00:00' или так (что одинаково) Time2.TIME BETWEEN '20061224' AND '20061224' Если автор запроса не знает , как задавать даты и время в универсальном формате, пусть посмотрит в FAQ. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.01.2007, 15:07 |
|
||
|
Sybase зависание запроса к огромному количеству данных
|
|||
|---|---|---|---|
|
#18+
Ну и JOIN CONDITIONS у вас там не хватает, и не у одной таблицы, по- видимому. Кстати, чтобы делать меньше ошибок, пишите лучше в новом синтаксисе ANSI JOIN. Так и понятнее и удобнее читать, и точно никогда не забудешь ни одного JOIN-а. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.01.2007, 15:09 |
|
||
|
Sybase зависание запроса к огромному количеству данных
|
|||
|---|---|---|---|
|
#18+
1 - "Что-то не похоже это на запрос. Что вот прямо вот так, с русскими буквами, и с [xxx] ?" естественно нет.просто я зачем-то заменил, кидая в форум.не придирайтесь. 2- "Если автор запроса не знает , как задавать даты и время в универсальном формате, пусть посмотрит в FAQ" выше я писал "со временем исправил немного" = это значит исправил! 3 - "Я ВАС ВСЕХ НАПУТАЛ " (я писал выше) значит, я действительно напутал! даже одну строку в where пропустил - как раз для cellmain. вот и проблема была. ТО ЕСТЬ МОЯ ВИНА ПОЛНОСТЬЮ В ТОМ, ЧТО ПРОСИЛ ПОМОЩИ, ДОПУСТИВ ОПЕЧАТКУ И НЕ ОДНУ. ПРОБЛЕМА уже решена. СПАСИБО! ничего не "виснет". НО ТЕКУЩИЕ ВАШИ РАЗЪЯСНЕНИЯ ПОМОГЛИ МНЕ ___ВООБЩЕ___ ВО МНОГОМ! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.01.2007, 14:36 |
|
||
|
Sybase зависание запроса к огромному количеству данных
|
|||
|---|---|---|---|
|
#18+
onnly1 - "Что-то не похоже это на запрос. Что вот прямо вот так, с русскими буквами, и с [xxx] ?" естественно нет.просто я зачем-то заменил , кидая в форум.не придирайтесь. onnly выше я писал "со временем исправил немного" = это значит исправил! onnly значит, я действительно напутал ! даже одну строку в where пропустил - как раз для cellmain. ОФФ: всё в мужском роде, а емейл то tanya2607@... ;) вот и незнаю что думать ;) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.01.2007, 14:55 |
|
||
|
Sybase зависание запроса к огромному количеству данных
|
|||
|---|---|---|---|
|
#18+
а ты не думай, а предположи, komrad ;) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.01.2007, 15:29 |
|
||
|
Sybase зависание запроса к огромному количеству данных
|
|||
|---|---|---|---|
|
#18+
onnlyа ты не думай, а предположи, komrad ;) 2хОФФ: склоняюсь версии женского рода, а мужской используется в целях мимикрии ;) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.01.2007, 16:11 |
|
||
|
Sybase зависание запроса к огромному количеству данных
|
|||
|---|---|---|---|
|
#18+
может фотосессию? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.01.2007, 17:16 |
|
||
|
Sybase зависание запроса к огромному количеству данных
|
|||
|---|---|---|---|
|
#18+
onnly пишет: > 1 - "Что-то не похоже это на запрос. Что вот прямо вот так, с русскими > буквами, и с [xxx] ?" > естественно нет.просто я зачем-то заменил, кидая в форум.не придирайтесь. Я еще раз хочу повторить, видимо уже на будущее. Нет смысла говорить о производительности или оптимизации какого-то запроса, "похожего" на тот, какой вам нужно заставить работать быстро и оптимально. Нужно рассматривать именно конкретный запрос. По крайней мере на низком уровне понимания работы оптимизатора. Поэтому лучше тупо постить полный запрос. Ничего страшного, что это будет много. Posted via ActualForum NNTP Server 1.3 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.01.2007, 13:21 |
|
||
|
Sybase зависание запроса к огромному количеству данных
|
|||
|---|---|---|---|
|
#18+
MasterZivНу и JOIN CONDITIONS у вас там не хватает, и не у одной таблицы, по- видимому. Кстати, чтобы делать меньше ошибок, пишите лучше в новом синтаксисе ANSI JOIN. Так и понятнее и удобнее читать, и точно никогда не забудешь ни одного JOIN-а. 100 % поддерживаю!!! Связка отдельно, условия отдельно! (Мухи отдельно, котлеты отдельно! :)) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.01.2007, 17:57 |
|
||
|
|

start [/forum/topic.php?fid=55&msg=34247852&tid=2012296]: |
0ms |
get settings: |
8ms |
get forum list: |
11ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
28ms |
get topic data: |
7ms |
get forum data: |
2ms |
get page messages: |
36ms |
get tp. blocked users: |
1ms |
| others: | 245ms |
| total: | 342ms |

| 0 / 0 |
