|
|
|
Проблема с группировкой
|
|||
|---|---|---|---|
|
#18+
При группировке таблиц в Firebird 1.5 ( 20- 50 млн записей, на выходе несколько тысяч), команда срубается с сообщением о невозможности писать во временный файл (место на носителе есть). Возможно, размер временного файла не может превышать 2Г. Вопросы 1. Есть ли выход без группировки таблицы по частям? 2. М.б. кто знает технологию, как интербейз делает группировку, ведь при этом создаются временные файлы превышающие по размеру рабочую базу? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.04.2004, 12:38 |
|
||
|
Проблема с группировкой
|
|||
|---|---|---|---|
|
#18+
Может поможет в firebird.conf изменить параметр: TempDirectories = c:\temp 100000000;d:\temp 500000000;e:\temp Best regards, Dnico. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.04.2004, 12:44 |
|
||
|
Проблема с группировкой
|
|||
|---|---|---|---|
|
#18+
А не FAT ли у тебя, о вопрошающий?! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.04.2004, 12:48 |
|
||
|
Проблема с группировкой
|
|||
|---|---|---|---|
|
#18+
В TempDirectories все прописано правильно, может использовать хоть все 50Г. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.04.2004, 12:49 |
|
||
|
Проблема с группировкой
|
|||
|---|---|---|---|
|
#18+
На диске NTFS ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.04.2004, 12:58 |
|
||
|
Проблема с группировкой
|
|||
|---|---|---|---|
|
#18+
Temp на него настроен, фатом даже не пахнет.. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.04.2004, 13:08 |
|
||
|
Проблема с группировкой
|
|||
|---|---|---|---|
|
#18+
И квоты выключены? Или таки включены? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.04.2004, 13:11 |
|
||
|
Проблема с группировкой
|
|||
|---|---|---|---|
|
#18+
Квоты где и на что? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.04.2004, 13:13 |
|
||
|
Проблема с группировкой
|
|||
|---|---|---|---|
|
#18+
Квоты в NTFS, на пространство вестимо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.04.2004, 13:16 |
|
||
|
Проблема с группировкой
|
|||
|---|---|---|---|
|
#18+
Размер временного файла ограничен 1ГБ, но на их количество ограничений нет, так что должно работать. Виндовые TEMP и TMP обе ссылаются на свободное место? При отсутствии индекса сервер группирует записи через внешнюю сортировку, отсюда и большие временные файлы (в temp выгружаются все исходные данные предшествующие группировке). Каков средний размер записи до группировки? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.04.2004, 13:31 |
|
||
|
Проблема с группировкой
|
|||
|---|---|---|---|
|
#18+
Квоты выключены. На данный момент группирую примерно треть базы с файлом размером 6Г, при этом Птица создала временных файлов в сумме на 12Г, чем она занимается :( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.04.2004, 13:32 |
|
||
|
Проблема с группировкой
|
|||
|---|---|---|---|
|
#18+
Bill_ , а может тогда сам запрос напишешь? А то уж как-то не понятно про 12 Гб ... Может просто запрос не тянет? Best regards, Dnico. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.04.2004, 13:35 |
|
||
|
Проблема с группировкой
|
|||
|---|---|---|---|
|
#18+
2 dimitr Средний размер записи около 160 байт. 2 Dnico Запрос типа insert into calls_tmp(serv,service,tarif,dir,cnt,dur,amnt,amnt2) select serv,service,tarif,dir,count(*),sum(dur)/60,sum(amnt),sum(amnt2) from apr03 group by serv,service,tarif,dir; ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.04.2004, 13:49 |
|
||
|
Проблема с группировкой
|
|||
|---|---|---|---|
|
#18+
Насчет 12 гиг. Какая размерность полей serv, service, tarif, dir? Например, VARCHAR(2000) занимает места в БД не более, чем реальная длина строки + 2 байта. Во временном файле сортировщика он занимает 2кБ. Намек понятен? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.04.2004, 13:52 |
|
||
|
Проблема с группировкой
|
|||
|---|---|---|---|
|
#18+
А индекс по полям serv,service,tarif,dir есть ? Если нет, то сделай ... Best regards, Dnico. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.04.2004, 13:56 |
|
||
|
Проблема с группировкой
|
|||
|---|---|---|---|
|
#18+
Индекс тут до лампочки. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.04.2004, 14:00 |
|
||
|
Проблема с группировкой
|
|||
|---|---|---|---|
|
#18+
2 dimitr Понятен, есть одно поле varchar(240), которое обычно char(4), спасибо, на будущее учту но сейчас не переделаешь. 2 Dnico Накладно как то индексы то делать, по времени ничего не выиграю :( . ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.04.2004, 14:08 |
|
||
|
Проблема с группировкой
|
|||
|---|---|---|---|
|
#18+
Как так не выигрывает? Почему у меня раз в xxxx групируется быстрее, а у тебя нет выигрыша? Best regards, Dnico. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.04.2004, 14:13 |
|
||
|
Проблема с группировкой
|
|||
|---|---|---|---|
|
#18+
Индекс для группировки на таких объемах может заметно ухудшить производительность. Все зависит от эффективности страничного кеша. Правда, от ошибок "невозможности писать во временный файл" можно будет избавиться... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.04.2004, 14:28 |
|
||
|
Проблема с группировкой
|
|||
|---|---|---|---|
|
#18+
Вроде разобрался, спасибо всем. Винда оказывается тоже начинает временные файлы интенсивно писать и они с Птицей самый маленький системный винт выжирают. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.04.2004, 14:36 |
|
||
|
Проблема с группировкой
|
|||
|---|---|---|---|
|
#18+
dimitr Вот тут вспомнил одну проблемму. Вообщем крутил я один запрос с кучей JOIN и заметил, что при использовании двух разных индексов соответсвенно получалось разное время выполнения. Так вот загвоздка в том, что по умолчаний использвался "медленный" индекс. Пришлось создавать дополнительно индекс, чтобы он мог использоваться и не тормозить запрос. Что тут можно придумать? Best regards, Dnico. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.04.2004, 14:47 |
|
||
|
Проблема с группировкой
|
|||
|---|---|---|---|
|
#18+
Вроде в IBase можно указывать принудительно какой индекс использовать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.04.2004, 14:56 |
|
||
|
Проблема с группировкой
|
|||
|---|---|---|---|
|
#18+
Стук в подвале. Какой джойн, какие индексы, что есть "медленный" индекс и т.п. Примеры надо готовить для всех таких случаев. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.04.2004, 15:01 |
|
||
|
|

start [/forum/topic.php?fid=40&msg=32500540&tid=1578737]: |
0ms |
get settings: |
8ms |
get forum list: |
17ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
177ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
74ms |
get tp. blocked users: |
1ms |
| others: | 208ms |
| total: | 506ms |

| 0 / 0 |
