gpt4 book ai didi

mysql - 对通过 PK 搜索的查询的 LIMIT 有益

转载 作者:行者123 更新时间:2023-11-30 23:50:05 27 4
gpt4 key购买 nike

假设我有一个显示博客文章的网站。在这个网页上有一个评论部分,但它在页面加载时隐藏了。但是,评论计数会在其位置显示给用户,如果用户单击该计数,则会进行 ajax 调用以加载所有评论。

通常我会做一些额外的编码来从页面中获取评论计数,然后将其发送到后端以便我可以限制我的查询。所以而不是这个...

SELECT * FROM comments INNER JOIN post WHERE post.id = 1

我可以...

SELECT * FROM comments INNER JOIN post WHERE post.id = 1 LIMIT 15

既然我已经实现了这一点,我想知道,通过主键搜索的查询有意告诉查询该主键上有多少行有什么好处?我做了一个带和不带限制的 SQL EXPLAIN,但它们是一样的。我主要关心的问题和我问这个问题的原因是 b/c 我想确保查询不进行全表扫描 这就是为什么我一直有添加的习惯限制。

最佳答案

这在很多层面上都是错误的。您正在为一个本身就可以正常工作的查询添加相对较大的开销(即使它需要一些整理:请参阅 Bill 的回答)

如果您构建了正确的查询(和正确的模型),您将不会遇到任何性能问题。通过尝试像这样的小技巧,你会

1- 有时遇到性能问题(参见优秀的 mysql 性能博客的 article 关于 order by desc 和限制优化器问题)

2- 在您的代码中做一个意大利面条(阅读您的代码时我想知道的第一件事是:“为什么会这样?”。此外,像这样的事情加起来,最后,这是很多“噪音".坚持主线,这是我的建议)

3- 有意想不到的结果(如果在您的 2 个查询之间突然出现第 16 条评论怎么办?)

这是出于好意,但我认为这是个坏主意。

关于mysql - 对通过 PK 搜索的查询的 LIMIT 有益,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16380613/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com