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

使用“ IMIT 1”是否可以加快对主键的查询?

林弘壮
2023-03-14
问题内容

如果我有一个主键say,id并且我对该键进行了简单的查询,例如,

SELECT id FROM myTable WHERE id = X

它会找到一行然后停止查找,因为它是主键,还是最好告诉mysql通过使用它来限制它的选择LIMIT 1?例如:

SELECT id FROM myTable WHERE id = X LIMIT 1

问题答案:

使用“ IMIT 1”是否可以加快对主键的查询?

LIMIT 1。它已经没有了就快了。LIMIT 1无论如何有效地暗示。

它会找到一行然后停止查找,因为它是主键

是的。

这里根本不需要表扫描:这是基于键的查找。找到匹配的行,到此过程结束。



 类似资料:
  • 问题内容: 如何用Java代码检查当前的JVM是否有无限强度的加密可用? 问题答案: 我认为您可能可以使用Cipher.getMaxAllowedKeyLength(),同时还将您使用的密码与已知的“良好”安全密码(例如AES)列表进行比较。 这是一篇参考文章,列出了自Java 1.4起当前最大的密钥大小管辖权限制(除非法律也有所改变,否则这些可能没有改变-参见下文)。 如果您在有密码进出口限制的

  • 问题内容: 考虑以下python程序: 在我的6GB文本文件上运行它,大约2分钟即可完成。 问题: 是否可以更快? 请注意,以下情况需要相同的时间: 因此,我怀疑我的疑问只是一个简单的“否”。 还要注意,我的真实程序正在做的事情不仅仅是计数行数,因此请给出一个通用的答案, 而不是 行数计数技巧(例如在文件中保留行数元数据) PS:我将此问题标记为“ linux”,因为我仅对特定于linux的答案感

  • 指定:这就是表的样子。 希望得到的结果是由Hibernate为我构建的SQL查询:

  • 问题内容: 我们有一个名为asamembr的表,其中有两个字段:cust_code和mbrcode。 还有另一个表成员消息与外键具有相同的字段,但是当我使用以下查询创建约束时: 我收到此错误: 您能否在表asamembr的两个字段cust_code和mbr_code上告诉您如何查询主键? 问题答案: 首先寻找PK的索引名称(pk_idx列) 其中的构造型: constrtype CHAR(1) C

  • 嗨,Dynamodb社区, 因此,所讨论的表是MLA_USER_AUTH。正如您所看到的,它有As分区键和As排序键。我希望能够使用用户id和电子邮件查询数据库。 有时我需要查找与电子邮件关联的用户,有时还需要查找用户ID。电子邮件和用户ID属性对于每个访问者都是唯一的。有什么办法可以做到吗? 这是我目前的查询。这显然行不通。当它抛出错误时:ValidationExc0019:查询条件错过了关键架

  • 问题内容: 同一列可以对另一列具有主键和外键约束吗? 如果我尝试删除table1数据,这会成为问题吗? 谢谢。 问题答案: 这应该没有问题。考虑以下示例: 这些表现在包含: 现在我们可以成功删除这样的行: 但是,我们将无法删除以下内容: 如果我们使用选项定义了外键,那么我们将能够删除父项,并且所有子项都将被自动删除: 如果我们要重复之前失败的操作,则将删除其中的子行以及其中的父行: