gpt4 book ai didi

php - 与普通的 mysql 连接相比,在 php 中使用 PDO 是否会使用大量资源?

转载 作者:行者123 更新时间:2023-11-29 13:50:40 25 4
gpt4 key购买 nike

基本上,我正在和一位 friend 交谈,他批评我使用 PDO 而不是 mysql 方法。他的论点是使用

$dbh = new PDO(irreleventparams);

强制您获取 PDO 的完整类和常量,因此会占用比所需更多的资源,因为我需要使用的 PDO 中的唯一方法是 prepare() bindParam()execute(),与 PHP 中已包含的 mysql 方法相反。

所以我的问题是,这真的是需要导入所有常量和方法吗?这在资源方面有多大的缺点,是否可以忽略不计,是否值得注意?请记住,服务器可能会因请求而达到极限,因此最好使用最少的资源。

最佳答案

解决性能投诉的第一步是准备一个基准测试,将方法 A 与方法 B 进行比较。下一步是让其他人查看您的基准测试,以确保您没有错过明显的优化。

我宁愿尽可能充分地使用 PDO,并且知道我的代码不会受到 SQL 注入(inject)的影响,而不是使用像 mysql_query 这样肮脏和低级的东西,并希望它是这样。如果你因为一个不小心的错误而被 SQL 注入(inject)错误所困扰,并且有人窃取了你的数据库,那么世界上所有的性能都是毫无意义的。

请记住,通过正确配置 PHP 运行时环境并使用 MySQL 连接池,不同数据库层之间的差异应该很小。

您应该将 mysqli 与 PDO 以及您认为值得考虑的任何其他数据库接口(interface)进行比较,例如 ADOdb也许。使用代表您尝试执行的工作的查询构建测试,而不仅仅是像 SELECT 1 这样的虚拟查询。最好使用加载大量虚拟数据的真实模式,比生产系统可能需要处理的数据还要多,这样您就可以了解它在负载下的执行情况。

如果应用程序服务器“达到了极限”,那么您可能需要更多应用程序服务器。

关于php - 与普通的 mysql 连接相比,在 php 中使用 PDO 是否会使用大量资源?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16726512/

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