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

将查询限制为一条记录是否可以提高性能

郗丰
2023-03-14
问题内容

如果一个查询只有一个结果记录,将查询限制在一个结果记录中,会提高性能吗?

例如

 select * from people where name = "Re0sless" limit 1

如果只有一个记录具有该名称?如果name主键/设置为唯一,那该怎么办?值得更新查询还是收益最小?


问题答案:

如果列有

唯一索引:不, 没有更快

非唯一索引:可能是 因为它会阻止发送除第一个匹配项之外的任何其他行(如果存在)

无索引:有时

  • 如果有1个或更多行与查询匹配,则为 yes ,因为在匹配第一行后将停止全表扫描。
  • 如果没有相匹配的行查询, 没有 ,因为它需要完成全表扫描


 类似资料:
  • 问题内容: 我在应用程序中使用Log4J进行日志记录。以前我使用像下面这样的调试调用: 选项1: 但有些链接建议最好先检查一下,例如: 选项2: 所以我的问题是“ 选项2是否会以任何方式提高性能? ”。 因为在任何情况下,Log4J框架都对debugEnabled进行相同的检查。对于选项2,如果我们在单个方法或类中使用多个debug语句,则该框架可能是有益的,在该方法或类中,框架不需要多次调用方法

  • 问题内容: Kotlin是否可以提高性能?有基准测试吗?Kotlin比Java快吗?我在Kotlin网站上找到了这个。https://kotlinlang.org/docs/reference/comparison- to-java.html 谈论语言功能而不是性能。 问题答案: Kotlin生成的字节码与Java非常相似,因此Kotlin代码的性能在大多数情况下与等效Java代码的性能相同。 内

  • 我们不敢相信我们在问这个问题<我们如何查询SQLite数据库中的一条记录 假设我们想要id,但只知道表中的名称 这是调用DB的代码 这里是DB乐趣getOneName 这个数据库有一个模型,应用程序有一个适配器 } 我们想输入名称并检索id,但我们甚至无法检索名称<我们已经在Java中多次这样做了,但Kotlin没有成功

  • 问题内容: 我在PHP循环中生成一条SQL语句。 生成的SQL字符串是大量的单个SQL语句,如下所示: 等等… 然后我执行: 问题在于仅执行前312条语句,而不执行完整的2082行(表中仅插入312行)。 当我将变量输出到JavaScript控制台,然后在SSMS中手动执行它时,它可以完美工作并插入所有2082行。只有当我运行变量时,它才能完成。 我也没有收到任何错误,查询结果返回真,如以下代码所

  • 我正在数据库中运行以下查询: 它输出500行,其中只有一个结果列,运行大约需要1分钟43秒。输出以下计划: 逻辑是:对于每个选择的(在500个id的列表中)计算整数列,返回该金额与数字2147483647之间的较小值。结果必须包含500行,每个id对应一行,我们已经知道它们将与子查询中的至少一行匹配,因此不会生成空值。 索引仅是上的一个b树,属于整数类型。索引是主键上的b树,也是整数类型。表中的每

  • 问题内容: 假设我有以下示例: 例子一 现在,可能是: 例子二 关键不是实际的代码,而是使用一次以上,两次/三次或三次以上的时间。 上午我更好的性能,明智使用 例如两个 比 例如一个 (也许与解释为什么或者为什么不)? 编辑/注意 我怀疑两个更好。当我不可避免地忘记将事件处理程序添加到事件处理程序时,我有点担心的是在添加代码,而不是无意中引入了一个潜在的难以诊断的错误。那么我应该使用还是为此? 谢