Общие > Базы данных

Большой INSERT|UPDATE

<< < (2/2)

CGVictor:
fidget
Так, принято.


--- Цитировать ---fidget:
read lock
--- Конец цитаты ---

INSERT DELAYED их подружит?...


--- Цитировать ---fidget:
что у вас вообще
--- Конец цитаты ---

Корпоративный вебфронт, надо сливать историю документов из бухгалтерии фирмы где-то 1-4 раза в день в базу на хосте. Мне будет прилетать только инкремент (иначе канал загнется на*), отсюда и задача.

Медленность, конечно, не плюс, но
а нет какого-нибудь русского summary по типам таблиц в MySQL?

fidget:
> INSERT DELAYED их подружит?

а это обычный INSERT, только он сначала кладется в буфер, если север не может добавить данные в таблицу, и потом добавляются, а клиент освобождается и не ждет окончание выполнения запроса. Но сам механизм добавления такой же.

Вообще если только обычные INSERTы и их таблицы данные не удаляются, то для MyISAM таблицы они пишутся в конец файла и могут нормально сосуществовать параллельно с SELECTами. Но вам же еще обновлять надо для совпадающих ключей, так что такое непрокатит.

Попробуйте все-таки LOAD DATA, только поиграйтесь еще с настройками bulk_insert_buffer_size и key_buffer_size. Увеличение размера этих буфером должно положительно сказаться на производительности добавления данных.

> а нет какого-нибудь русского summary по типам таблиц в MySQL?

ну в русской документации по MySQL есть описание этих таблиц, но там не summary и этому переводу уже 3 года и с тех пор ни разу не обновлялся, так что часть информации уже устарела.

CGVictor:
fidget
А нет ли способа на уровне базы/запроса задать, чтобы INSERT для существующей записи прокатывал как UPDATE?

fidget:
CGVictor, есть REPLACE и есть INSERT .. ON DUPLICATE KEY UPDATE.

CGVictor:
fidget
Ага, вектор ясен....будем копать

Навигация

[0] Главная страница сообщений

[*] Предыдущая страница

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 
Перейти к полной версии