powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / 3 миллиона записей
25 сообщений из 55, страница 2 из 3
3 миллиона записей
    #32472182
alex_k
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
без.
а зачем там параметры? и как это влияет на производительность?
...
Рейтинг: 0 / 0
3 миллиона записей
    #32472222
Roman Ignatiev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А попробуй :))
Стандартная вставка: берем TIBSQL, сразу пишем в него запрос вида insert into Table (Field1, Field2, ...) values (:param1, :param2, ...);
Открываем транзакцию, делаем препаре (один раз), потом присвоение параметров и выполнение запроса в цикле. ЗАкрываем транзакцию. Все. Самое быстрое
...
Рейтинг: 0 / 0
3 миллиона записей
    #32472255
alex_k
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
да, в 4 раза быстрей стало :-) спасибо

а еще? может еще что нужно учесть?
...
Рейтинг: 0 / 0
3 миллиона записей
    #32472262
alex_k
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
итого, около 20 минут весь процесс.

по поводу сборки.
стоит делать после всего select count*)?
...
Рейтинг: 0 / 0
3 миллиона записей
    #32472874
alex_k
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
раза три-четыре обновил таблицы, база стала 500 метров.
сделал select count(*) from blackiplist сделалось быстро, секунд за 30.
сделал select count(*) from blackiplistmp - до сих пор делается.
оно и понятно, 3 миллиона записей удалил.
вот теперь думаю.
может сделать как-то так:

create table blackiplisttmp(ip integer not null unique,
flag integer)

где флаг означает - 0, хз, 1 - добавился, 2 - не изменился.
сначала все пометить как 0.
каждый ip из файла ищщется в базе. если такой есть, то помечается как 2(не изменился) если нету, добавляется с флагом 1.

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

что думаете?
...
Рейтинг: 0 / 0
3 миллиона записей
    #32472953
Фотография Zmeishe
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Цели и задачи! Нафига count по служебной таблице делать? Если хочешь знать, какие записи (и сколько) добавились в рабочую таблицу - добавь в неё поле CREATE_DATETIME TIMESTAMP DEFAULT 'NOW' NOT NULL.
Построй по нему обычный индекс и анализируй когда, сколько и какие записи добавились.
Либо сделай LOG рабочей таблицы. И вали в него триггерами то, что потом будешь анализировать. НО НЕ ТРОГАЙ СЛУЖЕБНУЮ. Она - КОНТЕЙНЕР ДЛЯ РЕПЛИКАЦИИ. И не более того.
...
Рейтинг: 0 / 0
3 миллиона записей
    #32472962
alex_k
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
да нет :-)
мне число строк не нужно.

я просто хотел принудительную сборку мусора сделать, чтобы она не началась сама.

или я не прав?
...
Рейтинг: 0 / 0
3 миллиона записей
    #32472969
Фотография Zmeishe
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А BackUp с флагом сборки мусора не тоже самое? Двух зайцев поймаешь - и мусор собран, и база зарезервирована.
...
Рейтинг: 0 / 0
3 миллиона записей
    #32472991
alex_k
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
мне мусор мешает в рабочей версии базы, а не в резервной.
для того чтобы избавится таким образом от мусора в рабочей версии базы, мне нужно сделать помле бэкапа еще и восстановление.
а это прерывание технологического процесса. не очень хорошо, хотя и возможно.
...
Рейтинг: 0 / 0
3 миллиона записей
    #32473069
Фотография Zmeishe
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
— Backup БД IB может осуществлятся одновременно с работой обычных клиентских программ
— Во время backup происходит считывание каждой записи из каждой таблицы в БД. Таким образом, происходит сборка мусора в БД: версии записей или их фрагменты, которые не являются актуальными, уничтожаются. Место из-под удалённых версий освобождается, и оставшиеся данные переупаковываются.
— В процессе резервного копирования во время посещения всех записей происходит пересчёт статистики по индексам, что улучшает производительность операций, которые используют эти индексы.

Ковязин, Востриков - "Мир InterBase" 2-е издание страница 308.

Я думаю, что во время Backup сборка мусора и балансировка индексов происходит как раз в рабочей базе! К тому же Backup гораздо быстрее, чем твой сount, который до сих пор делается.
...
Рейтинг: 0 / 0
3 миллиона записей
    #32473117
alex_k
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ну а потом-то что?
ну сделаю я бэкап и что?
мусор то останется в базе, его тоолько в бэкапе не будет.
...
Рейтинг: 0 / 0
3 миллиона записей
    #32473125
Фотография dalai lamer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Тахда сделай ресторе, эх, ты, ламир!

...
Рейтинг: 0 / 0
3 миллиона записей
    #32473163
alex_k
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
так нельзя ресторе делать. процессы куда конектится будут, пока идет рестор?
...
Рейтинг: 0 / 0
3 миллиона записей
    #32473373
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мне вот интересно, ты статеечку таки прочитал, или так и будешь до посинения тр@х@ться?..
...
Рейтинг: 0 / 0
3 миллиона записей
    #32473407
Фотография VF
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
тут мне как-то dimitr говорил, что флаг "гарбэйдж коллекшен" иничиирует сборку мусора в рабочей базе, а бэкап в любом случае без мусора будет, так что для сборки мусора в базе достаточно бэкапа с флагом сборки мусора (не нужен рестор), ну и Ковязин зря писать не будет...
...
Рейтинг: 0 / 0
3 миллиона записей
    #32473415
Фотография Zmeishe
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мим, вопрос с производительностью при заливке решён. Он никак не врубится в оптимизацию после заливки. Сборка мусора и т.д.
...
Рейтинг: 0 / 0
3 миллиона записей
    #32473427
FreemanZAV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Лучше сборку мусора при backup выключать. Процесс backup при сборке мусора очень долгий, ну а если он прервется, то может побиться база. Лучше уж count(*).
...
Рейтинг: 0 / 0
3 миллиона записей
    #32473466
Фотография VF
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 FreemanZAV
а как база может побиться? бэкап делается как ещё один процесс (типа отдельный запрос), поэтому побьётся снимаемая копия, но не сама база... или я опять чего-то не догоняю?..
...
Рейтинг: 0 / 0
3 миллиона записей
    #32473541
FreemanZAV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
to VF.
Нет, я про другое говорю. Если прервется не сам процесс backup, а сервер IB/FB по каким-то причинам остановится. Если backup со сборкой мусора в это время происходит то жди беды. Луше сделать быстрый backup (с ключом g), а потом собрать мусор (gfix -sweep к примеру). Вообще говоря, я пробовал прерывать процесс backup со сборкой мусора и база у меня побилась. Больше я не эксперементировал. Попробуй сам несколько раз так сделать и расскажи всем о результатах.
...
Рейтинг: 0 / 0
3 миллиона записей
    #32473589
Фотография Zmeishe
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Было у меня прерывание процесса backup. Запустился заново - действительно, после этого backup со сборкой мусора не захотел делаться. Так я его отключил и сделал backup без сборки мусора, с игнорированием контрольных сумм и Ignore transaction in Limbo. Но тогда уже restore обязателен.
Эта ситуёвина с аварийным прерыванием настолько редка, что напрягаться из-за неё не имеет смысла.
...
Рейтинг: 0 / 0
3 миллиона записей
    #32473619
FreemanZAV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>Эта ситуёвина с аварийным прерыванием настолько редка, что напрягаться из-за неё не имеет смысла.

Тогда вообще зачем делать b/r. Ведь ситуация, когда что-то ломается настолько редка...
...
Рейтинг: 0 / 0
3 миллиона записей
    #32473648
Фотография Zmeishe
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
FreemanZAVТогда вообще зачем делать b/r.
Для оптимизации и повышения производительности.
...
Рейтинг: 0 / 0
3 миллиона записей
    #32473698
FreemanZAV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Значит резервные копии - это пережиток прошлого?
...
Рейтинг: 0 / 0
3 миллиона записей
    #32473715
Фотография Zmeishe
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если она делается одновременно с оптимизаций, ну и пусть себе делается, хлеба не просит - может когда-нибудь пригодиться.
Так себе - профилактика от гриппа.
...
Рейтинг: 0 / 0
3 миллиона записей
    #32473733
FreemanZAV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А если производительность устраивает, то можно backup и не делать?
...
Рейтинг: 0 / 0
25 сообщений из 55, страница 2 из 3
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / 3 миллиона записей
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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