Я пытаюсь получить максимальную производительность от приложения, которое обновляет индексированные строки, многократно заменяя данные в поле varchar.Это поле varchar будет обновлено данными равного размера при последующих обновлениях (поэтому одна строка никогда не будет расти).К моему полному замешательству, я обнаружил, что производительность напрямую связана с размером самого поля и не сравнится с производительностью прямой замены данных в файле файловой системы.т.е. на 1 кбайт размер поля на порядок быстрее, чем на 50 кбайт.(в пределах ограничения размера строки) Если строка существует в базе данных, а размер не изменяется, почему при обновлении возникают такие большие затраты?
Я использую innodb и отключил двоичное ведение журнала.Я исключил накладные расходы связи с использованием строк, созданных SQL.попытался использовать myisam, и это было примерно в 2-3 раза быстрее, но все еще слишком медленно.Я понимаю, что база данных имеет накладные расходы, но опять же я просто заменяю данные в одном поле данными, которые имеют одинаковый размер.что делает БД, кроме прямой замены битов?
грубый peformance # 81 обновлений / сек (строка 60 КБ) 1111 обновлений / сек (строка 1 КБ)
производительность файловой системы: 1428 обновлений /sec (строка 60k)
обновления, которые я делаю, вставляются ... при обновлении дубликата ключа.прямые обновления примерно на 50% быстрее, но все равно до смешного медлительные.
Могут ли какие-нибудь эксперты просветить меня?Есть ли способ улучшить эти цифры?