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

索引布尔字段是否有任何性能提升?

司马钱明
2023-03-14
问题内容

我将要编写一个包含的查询WHERE isok=1。顾名思义,isok是一个布尔字段(实际上是a TINYINT(1) UNSIGNED,根据需要设置为0或1)。

索引该字段是否有任何性能提升?引擎(在这种情况下为InnoDB)在查找索引时会表现得更好还是更差?


问题答案:

并不是的。您应该像书一样思考它。如果一本书中只有3种单词并且您都对它们进行了索引,那么您将拥有与普通页面相同数量的索引页面。

如果一个值的记录相对较少,则性能会有所提高。例如,如果您有1000条记录,其中10条为TRUE,那么如果使用isok = 1

正如迈克尔·杜兰特(Michael Durrant)所说,这也会使写入速度变慢。

编辑:可能的重复:索引布尔字段

在这里,它说明即使有索引,但是如果您有太多的记录,它还是不会使用索引。 MySQL在检查= 1时不使用索引,而在=
0时使用



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

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

  • 我知道如果数据是唯一的,理论上唯一索引会比非唯一索引快。 因为唯一索引能够提供更多信息,并让查询优化器选择更有效的执行计划。 我正在做一些测试,想证明唯一索引可能比执行计划中的非唯一索引更好,但结果显示它们是相同的。。。 我创建了一个表和两个索引(< code>IX_ID_T3不唯一,< code>UIX_ID_T3唯一),然后插入了1000000个样本行。 插入数据后,我运行< code >真空

  • 问题内容: 所以我想要实现的是与每个索引的自定义可搜索字段部分匹配。我生成一个带有要搜索的值的值,如果该值不止一个单词,则每个单词又生成另一个值(我可以使用,但它有错误,或者具有未记录的设置)。 在这种情况下,我正在寻找;查询如下所示: 我的目标搜索是获取首先具有的结果,然后搜索just 或。 此示例返回4个具有的结果,然后是仅具有的结果,然后是个更多的结果。 如何提高具有完整搜索值的结果?(“电

  • 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

  • 我们已经将Findbugs配置为通过Maven在Jenkins上运行。 除其他外,它抱怨以下代码行SE_BAD_FIELD: 这个bug的描述是 Se:可序列化类中的非瞬态非可序列化实例字段(Se\u BAD\u字段) 这个可序列化类定义了一个非原语实例字段,它既不是瞬态的、可序列化的,也不是java的。并且似乎没有实现可外部化的接口或readObject()和writeObject()方法。如果