我们有一个包含多列的表,我们在其中一列上有一个UNIQUE
索引(让我们称之为GBID
),我们有另一列(让我们称之为{{1} }}没有任何指示。此表格非常大,我们会flag
查询,我们偶尔会查询WHERE gbid IN () AND flag = 1
,很少查询WHERE gbid = "XXX"
。
在指标方面哪个更有效:
WHERE flag = 1
为gbid
,UNIQUE
为无索引flag
作为gbid
并拥有UNIQUE
的多列索引(gbid, flag)
作为gbid
并拥有UNIQUE
的多列索引答案 0 :(得分:0)
它取决于flag = 1的行的百分比,以及您选择的行数(IN
子句中有多少gbid)。
如果你想确定你应该用真实数据样本进行基准测试。