powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Проблема с группировкой
25 сообщений из 25, страница 1 из 1
Проблема с группировкой
    #32500361
Bill_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
При группировке таблиц в Firebird 1.5 ( 20- 50 млн записей, на выходе несколько тысяч), команда срубается с сообщением о невозможности писать во временный файл (место на носителе есть). Возможно, размер временного файла не может превышать 2Г.

Вопросы
1. Есть ли выход без группировки таблицы по частям?
2. М.б. кто знает технологию, как интербейз делает группировку, ведь при этом создаются временные файлы превышающие по размеру рабочую базу?
...
Рейтинг: 0 / 0
Проблема с группировкой
    #32500378
Фотография Dnico
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Может поможет в firebird.conf изменить параметр:

TempDirectories = c:\temp 100000000;d:\temp 500000000;e:\temp

Best regards,
Dnico.
...
Рейтинг: 0 / 0
Проблема с группировкой
    #32500391
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А не FAT ли у тебя, о вопрошающий?!
...
Рейтинг: 0 / 0
Проблема с группировкой
    #32500396
Bill_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
В TempDirectories все прописано правильно, может использовать хоть все 50Г.
...
Рейтинг: 0 / 0
Проблема с группировкой
    #32500425
Bill_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
На диске NTFS
...
Рейтинг: 0 / 0
Проблема с группировкой
    #32500456
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
И TEMP на него настроен?
Точно ФАТа нету?
...
Рейтинг: 0 / 0
Проблема с группировкой
    #32500459
Bill_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Temp на него настроен, фатом даже не пахнет..
...
Рейтинг: 0 / 0
Проблема с группировкой
    #32500478
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
И квоты выключены? Или таки включены?
...
Рейтинг: 0 / 0
Проблема с группировкой
    #32500484
Bill_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Квоты где и на что?
...
Рейтинг: 0 / 0
Проблема с группировкой
    #32500491
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Квоты в NTFS, на пространство вестимо.
...
Рейтинг: 0 / 0
Проблема с группировкой
    #32500540
dimitr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Размер временного файла ограничен 1ГБ, но на их количество ограничений нет, так что должно работать. Виндовые TEMP и TMP обе ссылаются на свободное место?

При отсутствии индекса сервер группирует записи через внешнюю сортировку, отсюда и большие временные файлы (в temp выгружаются все исходные данные предшествующие группировке).

Каков средний размер записи до группировки?
...
Рейтинг: 0 / 0
Проблема с группировкой
    #32500546
Bill_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Квоты выключены. На данный момент группирую примерно треть базы с файлом размером 6Г, при этом Птица создала временных файлов в сумме на 12Г, чем она занимается :(
...
Рейтинг: 0 / 0
Проблема с группировкой
    #32500555
Фотография Dnico
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Bill_ , а может тогда сам запрос напишешь?
А то уж как-то не понятно про 12 Гб ...
Может просто запрос не тянет?

Best regards,
Dnico.
...
Рейтинг: 0 / 0
Проблема с группировкой
    #32500619
Bill_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
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;
...
Рейтинг: 0 / 0
Проблема с группировкой
    #32500630
dimitr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Насчет 12 гиг. Какая размерность полей serv, service, tarif, dir? Например, VARCHAR(2000) занимает места в БД не более, чем реальная длина строки + 2 байта. Во временном файле сортировщика он занимает 2кБ. Намек понятен?
...
Рейтинг: 0 / 0
Проблема с группировкой
    #32500649
Фотография Dnico
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А индекс по полям serv,service,tarif,dir есть ?
Если нет, то сделай ...


Best regards,
Dnico.
...
Рейтинг: 0 / 0
Проблема с группировкой
    #32500662
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Индекс тут до лампочки.
...
Рейтинг: 0 / 0
Проблема с группировкой
    #32500693
Bill_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
2 dimitr

Понятен, есть одно поле varchar(240), которое обычно char(4), спасибо, на будущее учту но сейчас не переделаешь.

2 Dnico

Накладно как то индексы то делать, по времени ничего не выиграю :( .
...
Рейтинг: 0 / 0
Проблема с группировкой
    #32500702
Фотография Dnico
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Как так не выигрывает? Почему у меня раз в xxxx групируется быстрее, а у тебя нет выигрыша?

Best regards,
Dnico.
...
Рейтинг: 0 / 0
Проблема с группировкой
    #32500746
dimitr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Индекс для группировки на таких объемах может заметно ухудшить производительность. Все зависит от эффективности страничного кеша. Правда, от ошибок "невозможности писать во временный файл" можно будет избавиться...
...
Рейтинг: 0 / 0
Проблема с группировкой
    #32500775
Bill_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вроде разобрался, спасибо всем. Винда оказывается тоже начинает временные файлы интенсивно писать и они с Птицей самый маленький системный винт выжирают.
...
Рейтинг: 0 / 0
Проблема с группировкой
    #32500809
Фотография Dnico
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dimitr
Вот тут вспомнил одну проблемму.
Вообщем крутил я один запрос с кучей JOIN и заметил, что при использовании
двух разных индексов соответсвенно получалось разное время выполнения.
Так вот загвоздка в том, что по умолчаний использвался "медленный" индекс.
Пришлось создавать дополнительно индекс, чтобы он мог использоваться и не тормозить запрос.
Что тут можно придумать?

Best regards,
Dnico.
...
Рейтинг: 0 / 0
Проблема с группировкой
    #32500841
Bill_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вроде в IBase можно указывать принудительно какой индекс использовать.
...
Рейтинг: 0 / 0
Проблема с группировкой
    #32500860
dimitr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Стук в подвале. Какой джойн, какие индексы, что есть "медленный" индекс и т.п. Примеры надо готовить для всех таких случаев.
...
Рейтинг: 0 / 0
Проблема с группировкой
    #32500863
Фотография Dnico
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да сейчас уже и не помню ... как натолкнусь, тогда напишу ...

Best regards,
Dnico.
...
Рейтинг: 0 / 0
25 сообщений из 25, страница 1 из 1
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Проблема с группировкой
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]