这可能是一个非常愚蠢的问题,但是对数据库表中的布尔字段建立索引是否会有很多好处?
在常见情况下,例如标记为“无效”的“软删除”记录,因此大多数查询都包含WHERE deleted = 0,这将有助于对该字段进行单独索引,还是应将其与其他常见搜索字段组合在一起?不同的索引?
WHERE deleted = 0
没有。
您可以对要搜索的字段具有较高的选择性/基数进行索引。几乎所有表都消除了布尔字段的基数。如果有的话,它将使您的写入速度变慢(降低的幅度如此之小)。
如果每个查询都考虑了软删除,也许您会使其成为聚簇索引中的第一个字段?