【问题标题】:MySQL: Indexing large amount of columns (150M rows) with varied queriesMySQL:用不同的查询索引大量列(150M 行)
【发布时间】:2010-03-11 15:08:20
【问题描述】:

基本上我正在处理一个大表(150M 行),因此索引非常重要,但它基本上是一个具有多个可搜索的不同字段的表。因此,查询列的方式可能有 100 种不同的变体,因此为每个不同的变体创建索引是不现实的。

所以再解释一下:有时一列可能会出现在查询中,有时不会。这适用于几个不同的列。

【问题讨论】:

    标签: mysql performance optimization indexing


    【解决方案1】:

    无论表多么复杂,对于大多数查询来说,可能有几个关键列几乎总是在您的查询中使用。只需索引那些。听起来行扫描是不可避免的,但如果您已经为关键列建立了索引,MySQL 就足够聪明,可以使用索引来缩小要自动扫描的潜在行的范围。

    【讨论】:

      【解决方案2】:

      几乎唯一的解决方案是每个表一个索引,然后让优化器对其进行排序(即决定使用哪个索引)。什么数据库,什么是你的“相当大的表”? 1亿行? 10 亿行?

      【讨论】:

      • 对不起....从另一个MySQL论坛复制标题所以没有提到它....现在更新了标题。至于数据库大小......做一些连接,但唯一的大的是大约 150M 行。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-07-10
      • 2021-04-08
      • 2011-12-12
      • 1970-01-01
      相关资源
      最近更新 更多