0

我对 mysql 的索引策略有疑问 - 主要是何时使用复合索引

我有一个相当常见的关系数据库场景,这是我的表设置:

Maintable - table consisting of "products" including brandid, merchantid 

所以我创建了一个表来存储品牌和商家

Brandtable - brandname, brandid
Merchanttable - merchantname, merchantid

当我查询 Maintable 时,我有时会查询 brandid,有时会查询 Mercerid,有时会同时查询两者。在这种情况下最好使用什么,每列上的单个索引,或由两者组成的复合索引?

另外,如果我想在全文搜索中包含品牌名称和商家名称,我将如何实现这一点?

干杯:)

4

1 回答 1

2

在这种情况下,您应该为每列使用单独的索引。如果您的查询涉及复合索引中最左边的列,MySQL 只能使用复合索引。

例如,如果您有 的复合索引,则在查询or和(brandid,merchantid)时将考虑该索引。如果您只查询brandidbrandidmerchantidmerchantid

于 2010-02-15T18:39:55.823 回答