powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Другие СУБД [игнор отключен] [закрыт для гостей] / ЛИНТЕР Как ускорить создание метаданных?
17 сообщений из 17, страница 1 из 1
ЛИНТЕР Как ускорить создание метаданных?
    #36372441
dr.Offspring
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
У меня в базе размещается около 1300 таблиц с первичным ключом. Каждая из которых может содержать от 2 до 10 индексов. Половина таблиц может по размеру записи приближается к 64К. Процесс создания производится прямыми запросами через ADO. Время создания около 30 мин. Нагрузка на процессор минимальна.
Такая же база на MS SQL Server создается где-то за 30 сек.
При создании базы указываю максимальное число таблиц и колонок и максимальный размер записи.
Какие параметры мне необходимо ещё настроить, что бы приблизиться к показателям MS SQL Server?
Документация по gendb ясности не внесла... :(
Линтер Стандарт 6.0.14, Intel Pentium 4 1,7 Гц, ОЗУ 768 Мб. Базу размещаю на FAT32.
...
Рейтинг: 0 / 0
ЛИНТЕР Как ускорить создание метаданных?
    #36378480
xuser
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день, dr.Offspring!

Попробуйте увеличить размеры системных очередей Линтера командами утилиты gendb SET FILES,
SET TABLES, SET COLUMNS, например
например:
SET FILES 100
SET TABLES 1300
SET COLUMNS 10000
(или то же самое через Администратор СУБД Линтер, Свойства базы->Очереди)

Также имеет смысл увеличить размер пула памяти ядра при его запуске (ключ запуска ядра /POOL=число_страниц, или при запуске из Администратора СУБД Линтер изменить поле
"Размер пула ядра"). Лучше поставить порядка 30000, если позволяет память компьютера.

Если можно, напишите, что получилось. Быстродействие, сравнимого с MS SQL, это скорее всего
не обеспечит, но такой разницы в скорости быть не должно.

Второй Ваш вопрос сейчас смотрят, ответим на днях.

Вопросы можно также задавать напрямую в техподдержку (support@relex.ru).
...
Рейтинг: 0 / 0
ЛИНТЕР Как ускорить создание метаданных?
    #36384745
dr.Offspring
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
xuser,

Все сделал, как вы рекомендовали. Результат тот же 30 минут... :(
...
Рейтинг: 0 / 0
ЛИНТЕР Как ускорить создание метаданных?
    #36384748
dr.Offspring
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Свойства базы
...
Рейтинг: 0 / 0
ЛИНТЕР Как ускорить создание метаданных?
    #36384750
dr.Offspring
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Запуск базы
...
Рейтинг: 0 / 0
ЛИНТЕР Как ускорить создание метаданных?
    #36384751
dr.Offspring
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Системная информация во время создания таблиц
...
Рейтинг: 0 / 0
ЛИНТЕР Как ускорить создание метаданных?
    #36384754
dr.Offspring
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Информация по процессу ЛИНТЕР рабочей базы во время создания таблиц
...
Рейтинг: 0 / 0
ЛИНТЕР Как ускорить создание метаданных?
    #36386355
xuser
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dr. Offspring,
по возможности, пришлите скрипты для создания схемы БД (если они не секретны).
Постараемся воспроизвести ситуацию у себя и выяснить причину.
Можно на support@relex.ru или xuser@relex.ru.
...
Рейтинг: 0 / 0
ЛИНТЕР Как ускорить создание метаданных?
    #36386618
dr.Offspring
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
xuser,

Скриптов, как таковых нету. Каждый SQL-запрос выполняется отдельной командой через ADO.
Может быть в этом проблема?
...
Рейтинг: 0 / 0
ЛИНТЕР Как ускорить создание метаданных?
    #36386661
dr.Offspring
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вот типичный пример запросов из нашего лога при создании одной таблицы:

Код: 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.
CREATE TABLE "User" ("DocID" INTEGER NOT NULL,"ExtID" VARCHAR( 14 ) NOT NULL DEFAULT '',"Deleted" INTEGER NOT NULL DEFAULT  0 ,"ModifyDate" DATE NOT NULL DEFAULT '30.12.1899:00:00:00',"GroupDoc" INTEGER NOT NULL DEFAULT  0 ,"isGroup" INTEGER NOT NULL DEFAULT  0 ,"CreateDate" DATE NOT NULL DEFAULT '30.12.1899:00:00:00',"CreateUser" VARCHAR( 40 ) NOT NULL DEFAULT '',"UpdateDate" DATE NOT NULL DEFAULT '30.12.1899:00:00:00',"UpdateUser" VARCHAR( 40 ) NOT NULL DEFAULT '',"CreateCode" VARCHAR( 10 ) NOT NULL DEFAULT '',"GroupPath" VARCHAR( 850 ) NOT NULL DEFAULT '',"Version" INTEGER NOT NULL DEFAULT  0 ,"Name" VARCHAR( 850 ) NOT NULL DEFAULT '',"SID" VARCHAR( 250 ) NOT NULL DEFAULT '',"FullName" VARCHAR( 250 ) NOT NULL DEFAULT '',"Description" VARCHAR( 250 ) NOT NULL DEFAULT '',"FullAccess" SMALLINT NOT NULL DEFAULT  0 ,"Disabled" SMALLINT NOT NULL DEFAULT  0 ,"КодФилиала" VARCHAR( 250 ) NOT NULL DEFAULT '',"УровеньКонфиденциальности" INTEGER NOT NULL DEFAULT  0 ,"ЭлементСБ" SMALLINT NOT NULL DEFAULT  0 ,"ЗамокЭлементаСБ" SMALLINT NOT NULL DEFAULT  0 ,"КодПодсистемы" INTEGER NOT NULL DEFAULT  0 ,"КодМодуля" VARCHAR( 250 ) NOT NULL DEFAULT '',"КодУчастника" INTEGER NOT NULL DEFAULT  0 ,"НапоминанияВыключены" SMALLINT NOT NULL DEFAULT  0 ,"ВариантЗапускаСессии" INTEGER NOT NULL DEFAULT  0 ,"ПанельУправления" INTEGER NOT NULL DEFAULT  0 ,"ИнтерфейснаяПанель" INTEGER NOT NULL DEFAULT  0 ,"ИнтерфейснаяСхема" INTEGER NOT NULL DEFAULT  0 ,"КлассКартотеки" VARCHAR( 250 ) NOT NULL DEFAULT '',"КлассБланка" VARCHAR( 250 ) NOT NULL DEFAULT '',"ПерекрытьВышестоящиеНастр" SMALLINT NOT NULL DEFAULT  0 ,"ВходитьПодВсеПредприятия" SMALLINT NOT NULL DEFAULT  0 ,"Субъект" INTEGER NOT NULL DEFAULT  0 ,"Подразделение" INTEGER NOT NULL DEFAULT  0 ,"ВидПлатежа" VARCHAR( 250 ) NOT NULL DEFAULT '',"РаботатьБезВыбораПредприя" SMALLINT NOT NULL DEFAULT  0 ,"МаксимальнаяВажность" INTEGER NOT NULL DEFAULT  0 ,"ТипичнаяВажность" INTEGER NOT NULL DEFAULT  0 ,"СрокРезервирования" INTEGER NOT NULL DEFAULT  0 ,"ТипЦеныПоУмолчанию" INTEGER NOT NULL DEFAULT  0 ,"ПокупательПоУмолчанию" INTEGER NOT NULL DEFAULT  0 ,"СкладПоУмолчанию" INTEGER NOT NULL DEFAULT  0 ,"СотрудникПоУмолчанию" INTEGER NOT NULL DEFAULT  0 ,"ВалютаДокументаПоУмолчани" INTEGER NOT NULL DEFAULT  0 ,"МетодРазбросаСуммыОплаты" INTEGER NOT NULL DEFAULT  0 ,"НДСВключенВЦену" SMALLINT NOT NULL DEFAULT  0 ,"СтатусПоУмолчанию" SMALLINT NOT NULL DEFAULT  0 ,"ЕдиницаИзмерения" INTEGER NOT NULL DEFAULT  0 ,"Страна" INTEGER NOT NULL DEFAULT  0 ,"СтавкаНДСПоУмолчанию" VARCHAR( 250 ) NOT NULL DEFAULT '',"ТипРесурсаПоУмолчанию" INTEGER NOT NULL DEFAULT  0 ,"УстанавливатьЛимитКредита" SMALLINT NOT NULL DEFAULT  0 ,"СуммаЛимитаКредита" DOUBLE NOT NULL DEFAULT  0 ,"ВалютаЛимитаКредита" INTEGER NOT NULL DEFAULT  0 ,"УстанавливатьСрокВозврата" SMALLINT NOT NULL DEFAULT  0 ,"СрокКредита" INTEGER NOT NULL DEFAULT  0 , PRIMARY KEY("DocID"))

execute done ( 2109  ms)

SELECT CAST(KEYNAME AS VARCHAR( 50 )) AS INDEX_NAME, TABLENAME AS TABLE_NAME FROM COMPOSITE_INDEXES WHERE TABLENAME = 'User'

select done ( 0  ms,  0  rec)

CREATE INDEX "i_GroupDoc" ON "User" ("GroupDoc")

execute done ( 31  ms)

CREATE INDEX "i_GroupPath" ON "User" ("GroupPath")

execute done ( 16  ms)

ALTER TABLE "User" ADD UNIQUE ("Name","Deleted")

execute done ( 16  ms)

ALTER TABLE "User" ADD UNIQUE ("ExtID")

execute done ( 0  ms)

Видно, что львиная доля времени уходит на создание таблицы. Причём, чем больше полей в таблице, тем больше времени. Ну это логично...
Могу выслать полный лог в таком виде. Подойдет?
...
Рейтинг: 0 / 0
ЛИНТЕР Как ускорить создание метаданных?
    #36386702
dr.Offspring
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Хочу добавить, что все запросы идут через одно ADO-соединение.
Если лог в таком виде не подойдет, то вышлю пример с инструкцией...
...
Рейтинг: 0 / 0
ЛИНТЕР Как ускорить создание метаданных?
    #36387106
dr.Offspring
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Подготовил и запустил скрипт:
Код: plaintext
inl -u SYSTEM/MANAGER -n Turbo92 -c cp1251 -f "I:\Turbo92#Пример\create_base.sql"
Те же 30 минут... :(
...
Рейтинг: 0 / 0
ЛИНТЕР Как ускорить создание метаданных?
    #36387119
dr.Offspring
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Отправил подготовленный скрипт на указанные адреса...
...
Рейтинг: 0 / 0
ЛИНТЕР Как ускорить создание метаданных?
    #36387473
xuser
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Пока просто прогнал Ваш пример. Более конкретно постараюсь написать после выходных.

AMD Athlon X64 Dual Core Processor 5000+ 2.60 ГГц 1.87 Гб ОЗУ MS Windows XP SP3, NTFS
Присланный скрипт при запуске через INL прошел за 4 минуты.
Попробовал и на Linux 2.6.22 i686 - 2.5 минуты.

Время, по-видимому, уходило преимущественно на создание файлов - ЛИНТЕР создает
изначально по 2 файла для каждой таблицы, в результате было создано порядка 2500 файлов.
...
Рейтинг: 0 / 0
ЛИНТЕР Как ускорить создание метаданных?
    #36389906
dr.Offspring
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
xuser,

Запустил тот же скрипт в INL на сервере в базе с установленными по вашей рекомендации параметрами - 17 мин.
Intel Pentium D 3 Гц, 6 Гб RAM, MS Windows Server 2003 Standart x64 sp1, NTFS.
...
Рейтинг: 0 / 0
ЛИНТЕР Как ускорить создание метаданных?
    #36421557
xuser
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
dr. Offspring,

еще можно для ускорения можно уменьшить размеры создаваемых Линтером изначально файлов таблиц. Направил Вам подробности на E-mail.
...
Рейтинг: 0 / 0
ЛИНТЕР Как ускорить создание метаданных?
    #36434547
dr.Offspring
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
xuser,

Большое, спасибо!
Действительно, если при создании таблицы явно указать:
Код: plaintext
CREATE TABLE ... INDEXFILES  [b]1 ( 2 ) DATAFILES  1 ( 2 )[/b]
То время создания всех таблиц резко уменьшается до 8 - 9 минут!
Это приемлемое время. Пока остановлюсь на этом варианте...
...
Рейтинг: 0 / 0
17 сообщений из 17, страница 1 из 1
Форумы / Другие СУБД [игнор отключен] [закрыт для гостей] / ЛИНТЕР Как ускорить создание метаданных?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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