我不确定我是否理解与速度或效率有关的准备好的陈述。我读到准备好的语句是在数据库服务器上编译的,可以反复使用。
但是,假设我有一个网页。它执行一个查询。下一个人打开页面,相同的查询,只是该用户的不同参数。
在网页的第二次点击中,准备好的语句是否正在查看 dbms 以查看该特定查询是否已存在于数据库服务器上?我不明白说该语句已编译并且可以“一遍又一遍地”运行是什么意思。它不会在每次运行页面时都准备好?
此外,这与 sql 注入无关。这是我理解的一部分,因为它与编译有关。
谢谢。
编辑:我已经搜索过,但我找不到答案。我只被引导到这个问题。
编辑:根据下面的评论,鉴于我的情况,我看不到任何效率优势。安全是的。整个编译的东西。没有。有没有人可以举出一个场景来作为满足效率问题的例子?