Я работаю с базой данных MySQL, которая в основном используется для вставок и почти никогда не выбирает. К сожалению, система уже развернута и работает, круглосуточно, примерно 14 тыс. Вставок в день, и я не могу сделать много вставок в своей тестовой среде, поскольку она очень ограничена.
Все оптимизации MySQL, которые я читал, сосредоточены в основном на быстрых, кэшируемых выборках, но в моей системе это не имеет смысла.
Есть ли какое-нибудь хорошее руководство по повышению производительности такой системы? Или более конкретный вопрос: делают ли вары innodb_flush_method, innodb_buffer_pool_size и key_buffer_size иметь какой-либо эффект в такой системе?
В общем, вы должны оптимизировать эту ситуацию, имея как можно меньше индексов в таблице (ах), которые вставляются (а), поскольку их обновление может занять изрядное количество времени. Упомянутые переменные не окажут большого влияния в этом сценарии.
OTOH, при этом, 14k вставок в день - это не то, о чем можно писать, любой достойный сервер MySQL должен легко справиться с этим.
Очевидно, что отсутствие индексов, которые полезны для SELECT, сделает их, возможно, довольно медленными, поэтому, вероятно, было бы полезно извлечь вставленные данные в отдельную базу данных (той же структуры, но с дополнительными индексами) для целей запросов.