Tom*_*Tom 2 mysql innodb index update
使用 MySQL (InnoDB),我知道索引会减慢 UPDATE 查询的速度。我想知道无论更新哪些字段,是否都会发生这种情况。
例如,如果我有一个包含 20 个字段的表,其中前 10 个在单个索引或覆盖索引中被引用,那么其他 10 个非索引字段的更新速度是否会受到影响?
Rol*_*DBA 5
首先,看看 InnoDB 架构(来自 Percona 的 CTO Vadim Tkachenko)
当您更新索引列时,更改必须通过此架构迁移,如下所示:
.ibd
如果您正在更新一个非索引列,唯一的瓶颈就是通过.ibd写入 I/O 线程将脏页中的更改刷新到文件中。非索引列不涉及索引更改缓冲。
如果您有 MySQL 5.5/5.6,您可能需要增加innodb_write_io_threads和innodb_log_buffer_size以提高写入性能。
归档时间:
11 年,5 月 前
查看次数:
772 次
最近记录: