准备好的 SQL 查询时间与常规查询时间

发布于 2024-09-10 13:13:13 字数 119 浏览 5 评论 0原文

我知道,从我所读到的内容来看,准备好的语句速度更快,因为预编译的缓存版本用于重复查询。我的疑问是:时间到底节省在哪里?我明白了,只能节省准备查询所花费的时间。即使准备好的语句也必须进行数据库搜索,因此不会节省时间。我错了吗?

I know, from whatever I've read, prepared statements are faster since pre-compiled cached version is used for recurring queries. My doubt is : Exactly where time is saved? I see, only the time taken in preparing a query could be saved. Even prepared statements have to do database search and so no time is saved there. Am I wrong?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

鯉魚旗 2024-09-17 13:13:13

这是正确的。使用准备好的语句节省的时间通常是在数据库引擎规划/编译查询中。

That's correct. The time saved by using prepared statements is generally in the database engine planning/compiling the query.

很快妥协 2024-09-17 13:13:13

“准备好的查询”中准备好的部分是执行计划。计划告诉数据库如何执行查询;使用哪些索引,按什么顺序。执行计划还解决任何访问权限。

通过构建一次执行计划而不是为每个查询构建一次,可以节省时间。

The part of a "prepared query" that is prepared is the execution plan. The plan tells the database how to execute the query; which indexes to use, in which order. The execution plan also resolves any access rights.

Time is saved by building the execution plan once instead of for every query.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文