Does using “LIMIT 1” speed up a query on a primary key?

后端 未结 2 1591
有刺的猬
有刺的猬 2021-02-19 04:23

If I have a primary key of say id and I do a simple query for the key such as,

SELECT id FROM myTable WHERE id = X

Will it find on

2条回答
  •  无人及你
    2021-02-19 04:53

    There is no need to worry about this sort of "optimization".

    Only one row will be fetched -- per unique index contract -- and the database is able to very quickly find all the (1) rows. It is able to do this because of the underlying structures that back the index (or primary key) support fast-seeking by value. There is no table-scan involved. (Generally a variant of a B-tree, but it might be hash-based, etc, is used. I suppose a smart query optimizer might also be able to pass down additional hints based on the unique constraint in effect, but I don't know enough about this.)

提交回复
热议问题