当前位置: 首页 > 面试题库 >

索引布尔字段

阎修杰
2023-03-14
问题内容

这可能是一个非常愚蠢的问题,但是对数据库表中的布尔字段建立索引是否会有很多好处?

在常见情况下,例如标记为“无效”的“软删除”记录,因此大多数查询都包含WHERE deleted = 0,这将有助于对该字段进行单独索引,还是应将其与其他常见搜索字段组合在一起?不同的索引


问题答案:

没有。

您可以对要搜索的字段具有较高的选择性/基数进行索引。几乎所有表都消除了布尔字段的基数。如果有的话,它将使您的写入速度变慢(降低的幅度如此之小)。

如果每个查询都考虑了软删除,也许您会使其成为聚簇索引中的第一个字段?



 类似资料:
  • 本文向大家介绍pandas 布尔索引,包括了pandas 布尔索引的使用技巧和注意事项,需要的朋友参考一下 示例 可以使用布尔数组选择数据框的行和列。 有关熊猫文档的更多信息。

  • In[1]: import pandas as pd import numpy as np import matplotlib.pyplot as plt %matplotlib inline 1. 计算布尔值统计信息 # 读取movie,设定行索引是movie_title In[2]: pd.options.display.max_colum

  • 问题内容: 我将要编写一个包含的查询。顾名思义,是一个布尔字段(实际上是a ,根据需要设置为0或1)。 索引该字段是否有任何性能提升?引擎(在这种情况下为InnoDB)在查找索引时会表现得更好还是更差? 问题答案: 并不是的。您应该像书一样思考它。如果一本书中只有3种单词并且您都对它们进行了索引,那么您将拥有与普通页面相同数量的索引页面。 如果一个值的记录相对较少,则性能会有所提高。例如,如果您有

  • 本文向大家介绍solr 布尔搜索,包括了solr 布尔搜索的使用技巧和注意事项,需要的朋友参考一下 示例 +firstname:john +surname:doe 匹配名字为john且姓氏为doe的文档。+前缀表示搜索词必须出现(AND)。 +firstname:john -surname:doe 匹配名字为john而名字不是doe的文档。-前缀表示不得出现搜索词(否)。 +firstname:j

  • 问题内容: 这是我遇到错误的方式: 类型为,其中包含行索引列表。所有这些行索引都属于。 这是我需要过滤的条件。 如果我分别执行以下命令,则不会收到任何警告: 但是,如果将它们放在一起,则会收到警告消息(但可以看到结果): 布尔系列键将重新索引以匹配DataFrame索引 此错误消息是什么意思?它会影响返回的结果吗? 问题答案: 尽管有警告,您的方法仍然可以使用,但是最好不要依赖隐式,不清楚的行为。

  • 问题内容: 尽管至少有两个 关于如何在Python的库中为DataFrame编制索引的优秀教程,但我仍然无法找到一种优雅的方法来编写多个列。 我已经发现(我认为是)这样一种不太优雅的方式 但这并不漂亮,可读性得分很低(我认为)。 有没有更好,更Python风格的方法? 问题答案: 这是一个优先运算符问题。 您应该添加额外的括号以使多条件测试正常工作: 您提到的教程的这一部分显示了带有几个布尔条件的