170 похожих чатов

Я правильно понимаю, что вы имеете в виду это? SET unique_checks=0; ...

SQL import statements ...
SET unique_checks=1;

9 ответов

21 просмотр

я прямо дропал все индексы и констрейнты, потом грузил заведомо корректные данные, после создавал ключи, получал существенный прирост Вот примерный код: SET @@cte_max_recursion_depth = 999999 ; SET @materials_count = 200000 , @documents_count = 100000 , @positions_per_document = 150 ; SET FOREIGN_KEY_CHECKS = 0, SQL_LOG_BIN = 0, UNIQUE_CHECKS = 0 ; ... ALTER TABLE document_positions DROP CONSTRAINT document_positions_document_id , DROP CONSTRAINT document_positions_material_id , DROP KEY document_id , DROP KEY material_id ; INSERT document_positions (document_id, material_id, cnt) WITH RECURSIVE p(n) AS ( SELECT 1 n UNION ALL SELECT n + 1 n FROM p WHERE n + 1 <= @positions_per_document ) , d AS ( SELECT DISTINCT d.id document_id , FLOOR(1 + (RAND() * (@materials_count))) material_id FROM p CROSS JOIN documents d ) SELECT document_id, material_id , FLOOR(1 + (RAND() * 1000)) cnt FROM d ; ALTER TABLE document_positions ADD UNIQUE KEY (document_id, material_id) ; ALTER TABLE document_positions ADD KEY (material_id) ; ALTER TABLE document_positions ADD CONSTRAINT document_positions_document_id FOREIGN KEY (document_id) REFERENCES documents (id) ; ALTER TABLE document_positions ADD CONSTRAINT document_positions_material_id FOREIGN KEY (material_id) REFERENCES materials (id) ; SET FOREIGN_KEY_CHECKS = 1, SQL_LOG_BIN = 1, UNIQUE_CHECKS = 1 ;Констрейнты вообще в таком режиме создаются мгновенно, без проверки

Mb1W@- Автор вопроса
Alexandr
я прямо дропал все индексы и констрейнты, потом гр...

Я понял, спасибо большое. Буду это пробовать. Но по прежнему вопрос по настройкам самого сервера остается. Почему при утилизации на диске 83.70% у процессора 18.89% iowait?

Mb1W@
Я понял, спасибо большое. Буду это пробовать. Но п...

io - не только диск. это и память, плюс это мгновенное значение, все нормально

Mb1W@- Автор вопроса
ולאד
io - не только диск. это и память, плюс это мгнове...

А как-то понять в чем именно бутылочное горлышко нельзя? Это может навести на те параметры которые стоит еще подкрутить на серверной части.

Mb1W@- Автор вопроса
ולאד
бутылочное горлышко - cpu

Вы меня совсем запутали. Как CPU (одно его ядро) может быть бутылочным горлышком, если он простаивает и ничего не делает даже тем одним ядром.

Mb1W@
Вы меня совсем запутали. Как CPU (одно его ядро) ...

задача выполняется в 1 поток. 1 поток может сожрать максимум 1 ядро cpu

Mb1W@- Автор вопроса
ולאד
задача выполняется в 1 поток. 1 поток может сожрат...

да да, это я понимаю, но даже одно ядро не загруженно.

Похожие вопросы

Обсуждают сегодня

Мужики и девушки, привет) в Вelphi xe7 в настройках во вкладке "Editor Options" далее " Color" есть список: "Elements", открыв который мы можем настраивать отображение разных...
Kraszx
14
Добрый вечер. Есть вопрос, а может и предложение. Был у меня диалог в другой группе о делфи и я задался вопросом: "А нельзя ли в делфи цвет //коментария и {комментария} сде...
Kraszx
24
Я вот подумал. SSE выполняет операции максимум с 64-битной точностью. А FPU - всегда с 80-битной. Разве не должно быть FPU точнее тогда?
The Bird of Hermes
13
как быть с принтером? такой подход прокатит?
zamtmn
12
Мдя, прикол, боевая сборка запускается (именно под отладчиком) после F9 примерно полторы минуты (97 секунд если быть точным). Начал копать - проблема детектится сразу - зависа...
Александр (Rouse_) Багель
38
Всем привет! Подскажи, пожалуйста, как передать в TComboBox сразу значение и id записи. На Delphi я делал так: ComboBox1.Items.AddObject('Какое-то значение', Pointer(id запис...
Евгений
13
Здравствуйте, вопрос по структурам данных. Были у вас случаи, когда пришлось писать деревья или двунаправленные списки?
/ /
50
Я не понимаю, это троллинг или что? Швабрика поддерживают, который буквально пишет на ассемблере взаимодействия с винапи. Я это ещё написал загрузчик и хоть что-то изучаю в о...
Shadow Akira
6
А вот это что за конструкция? Вернее, она тут нафига?
Serjone
10
Привет. Подскажите, как правильно сматчить лист фиксированного размера, чтобы компилятор не говорил мне о неполном паттерне? Допустим что-то такое [x', y'] = sort [x, y]?
Arseny
8
Карта сайта