Убыстритесь MySQL вставляет с разделами на MyISAM с уникальным ключом

В основном SSH (и связанные инструменты как SCP и SFTP) зондирует, где его вход, кажется, прибывает из, и если это не от того, что могло бы быть фактическим пользователем, он не примет пароли через тот метод и вместо этого попросит пароль или пароль от пользователя более непосредственно.

Из соображений безопасности это нецелесообразно (и, IIRC, на самом деле невозможно) обеспечить Ваш пароль SSH на командной строке, поскольку Вы требуете сделать.

Если необходимо войти в систему без пароля, необходимо настроить основанную на ключе аутентификацию, которая к счастью не является трудной. Существует много хороших учебных руководств там, быстрый поиск потянул http://novosial.org/openssh/publickey-auth/, который похож на хорошее описание этого и других связанных деталей, которые Вы могли бы найти полезным.

9
задан 18 August 2011 в 17:55
2 ответа

Эти запросы вставки параллельны или исходят из одного процесса? Если они параллельны, лучше использовать хранилище InnoDB для этой таблицы, потому что MyISAM блокирует всю таблицу, а InnoDB использует блокировки строк. Если переключение на другое хранилище невозможно, вы можете попробовать оператор INSERT DELAYED и ряд других оптимизаций вставки . Разбиение на разделы не поможет, если вы не разместите разные разделы на разных физических дисках.

0
ответ дан 2 December 2019 в 22:38

Во-первых, одновременная запись определенно не подходит для хранилища MyISAM. Каждый из них блокирует всю таблицу (за исключением некоторых случаев чтения). Если InnoDB вам не подходит, попробуйте TokuDB. Но он будет медленнее по сравнению с MyISAM из-за транзакционного характера TokuDB (и, конечно, InnoDB) (вы должны писать одни и те же данные как минимум дважды: журнал и файлы данных). Кроме того, если ваш сервер когда-нибудь выйдет из строя, вы будете часами ждать, пока ваша таблица MyISAM 40 ГБ будет восстановлена.

Если вы все еще хотите загружать данные в свои MyISAM-таблицы и хотите сделать это быстро, я могу порекомендовать использовать ЗАГРУЗИТЬ ИНФАЙЛ ДАННЫХ вместо вставок. Это самый быстрый способ загрузить в таблицу большие объемы данных. И да, индексы будут экспоненциально замедлять производительность вставки.

Несколько слов о разделах: операторы INSERT в MySQL не поддерживают сокращение, поэтому все ваши разделы будут сканироваться по каждому оператору на предмет уникального сопоставления индексов. Кроме того, все разделы будут заблокированы до конца вставки.

1
ответ дан 2 December 2019 в 22:38

Теги

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