PHP理解准备好的语句

PHP理解准备好的语句,php,mysql,Php,Mysql,我对php和mysql有些陌生。我看了很多关于准备好的声明的帖子,似乎找不到我的确切情况 在这种情况下,我应该使用预先准备好的语句吗? 我正在使用基于日期范围的查询创建记录的FPDF报告。 当我显示每一行数据时,我在“While”语句中有另一个查询,它提取与该特定记录关联的用户名数据,因为“usernameID”字段通过另一个表中的外键提取数据。由于此内部查询在页面完成加载之前被多次调用,因此它是否应该是一个准备好的语句 我知道我可以在某些情况下将这些表进行内部连接,但我只是想更好地理解准备好的

我对php和mysql有些陌生。我看了很多关于准备好的声明的帖子,似乎找不到我的确切情况

在这种情况下,我应该使用预先准备好的语句吗? 我正在使用基于日期范围的查询创建记录的FPDF报告。 当我显示每一行数据时,我在“While”语句中有另一个查询,它提取与该特定记录关联的用户名数据,因为“usernameID”字段通过另一个表中的外键提取数据。由于此内部查询在页面完成加载之前被多次调用,因此它是否应该是一个准备好的语句

我知道我可以在某些情况下将这些表进行内部连接,但我只是想更好地理解准备好的语句。这就是它的用途,或者它们应该用于会话中经常使用的查询

我想我得到的是,网页是否在内部连接方面有更好的性能,或者应该将查询分开,并在页面加载时多次为基于ID的用户名数据准备语句

我有一些用户会打开一个会话,在提交页面时会重新发送页面以获取新数据,但在此之前,连接会关闭,直到他们再次单击“提交”,所以我不需要准备好的语句,对吗

我欢迎任何关于何时使用准备好的陈述的链接或更好的解释或示例。很抱歉,如果这个问题已经得到了回答,但我感谢任何见解

谢谢,
T-Boy

确切地说,最好使用prepared语句,但如果您的数据库需要处理的数据很少,那么内部联接将对您有所帮助,并且不会在性能方面产生太大的差异。但是,如果您的数据库正在处理一个包含大量数据的表,那么最好使用prepared语句

在prepared语句中,查询只被解析(或准备)一次,但可以使用相同或不同的参数执行多次。准备好查询后,数据库将分析、编译并优化其执行查询的计划。对于复杂的查询,此过程可能会占用足够的时间,如果需要使用不同的参数多次重复同一查询,则会显著降低应用程序的速度。通过使用准备好的语句,应用程序可以避免重复分析/编译/优化周期。这意味着准备好的语句使用更少的资源,因此运行得更快


根据您生成将使用多个表和查询处理的报告的要求,建议使用准备好的语句,但仍取决于表中的数据

经验法则:始终使用准备好的语句。一个带有
连接的查询将比一个查询后面跟着五十个其他查询提取相同数据的查询具有更好的性能。这就是说,始终使用准备好的语句—智能数据库可以在会话之间缓存和重用查询计划,更不用说安全性方面的好处了。在这种特殊情况下,连接在性能方面要好得多。