Mysql - 列数如何影响数据库性能

Jat*_*eth 5 mysql index database-design

我有一个表来存储用户的社交媒体信息;我有 42 列要存储,每天将有 100000 个条目要存储。我计划为其配备 MyIsam 引擎,并将对表使用水平分区,但我的问题是

  1. 我还应该进行垂直分区并将表分成 2 个表吗?
  2. 如果我们在查询中仅从表中选择 4 列,那么即使其他列不在列列表中,其他列的存在是否会影响查询?

RLF*_*RLF 5

如果您有 42 列要存储,并且只选择 4 列,那么其他列可能会影响查询,因为它会增加服务器用于选择更宽表的磁盘 I/O 量。

如果您主要需要 4 列,则执行垂直分区将提供更小的 I/O 开销,并可能为该查询带来更好的性能。

同样,与更宽的 42 列选择相比,4 列的覆盖索引也可以使用更少的 I/O 进行处理。

会更快吗? 应该是,但这完全取决于该过程中还涉及哪些内容,但您的问题中没有明确提及。