Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Другие СУБД [игнор отключен] [закрыт для гостей] / ЛИНТЕР Как ускорить создание метаданных? / 17 сообщений из 17, страница 1 из 1
17.12.2009, 18:54
    #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
21.12.2009, 20:35
    #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
24.12.2009, 15:19
    #36384745
dr.Offspring
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ЛИНТЕР Как ускорить создание метаданных?
xuser,

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

Скриптов, как таковых нету. Каждый SQL-запрос выполняется отдельной командой через ADO.
Может быть в этом проблема?
...
Рейтинг: 0 / 0
25.12.2009, 14:51
    #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
25.12.2009, 15:01
    #36386702
dr.Offspring
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ЛИНТЕР Как ускорить создание метаданных?
Хочу добавить, что все запросы идут через одно ADO-соединение.
Если лог в таком виде не подойдет, то вышлю пример с инструкцией...
...
Рейтинг: 0 / 0
25.12.2009, 17:19
    #36387106
dr.Offspring
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ЛИНТЕР Как ускорить создание метаданных?
Подготовил и запустил скрипт:
Код: plaintext
inl -u SYSTEM/MANAGER -n Turbo92 -c cp1251 -f "I:\Turbo92#Пример\create_base.sql"
Те же 30 минут... :(
...
Рейтинг: 0 / 0
25.12.2009, 17:30
    #36387119
dr.Offspring
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ЛИНТЕР Как ускорить создание метаданных?
Отправил подготовленный скрипт на указанные адреса...
...
Рейтинг: 0 / 0
25.12.2009, 21:48
    #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
28.12.2009, 14:21
    #36389906
dr.Offspring
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ЛИНТЕР Как ускорить создание метаданных?
xuser,

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

еще можно для ускорения можно уменьшить размеры создаваемых Линтером изначально файлов таблиц. Направил Вам подробности на E-mail.
...
Рейтинг: 0 / 0
27.01.2010, 18:54
    #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]