![]() |
1
40
PDO比MySQL慢一点_* 但它具有很好的可移植性。PDO提供了跨多个数据库的单一接口。这意味着您可以使用多个数据库,而不必使用MySQL查询、MS SQL的MSSQL查询等。只需始终使用$DB->查询(“insert into…”)。无论您使用的是什么DB驱动程序。 因此,对于大型或便携式项目,PDO更可取。甚至Zend框架也使用PDO。 |
![]() |
2
17
一些快速计时表明PDO在连接时速度稍快。
结果如下
不管怎样,速度差可以忽略不计;建立网络连接可能比PDO产生的开销要长很多,特别是当MySQL服务器在另一台主机上时。 你提到了自己使用PDO的所有原因。实际上,千万不要直接使用mysql_*函数,要么使用pdo,要么使用 some other library . |
![]() |
3
11
我不认为人们在使用PDO时所追求的是速度——我不知道是否有区别,我也确实不在乎:只要在生成页面时对数据库进行几次查询,PHP端的几毫秒就不会改变任何东西。
相比之下,PDO有三分之二的优点
顺便说一句:我通常使用PDO——要么“手动”,要么它集成在/使用于 Zend Framework 和/或 Doctrine .
见 this page of the PHP manual ,关于那个。 |
![]() |
4
11
|
![]() |
5
6
我做了一些性能测试,用准备好的语句和常规的直接查询(在mysqlnd和myisam表上使用select语句测试)来比较mysqli函数和pdo函数。 我发现PDO查询比mysqli稍微慢一点,但也只是稍微慢一点。这是有意义的,因为PDO用于此目的的大多只是一个调用mysqli函数的包装器。使用PDO的好处在于,它使迁移到不同的数据库变得更加容易,因为函数名不是特定于MySQL的。 真正的性能差异在于您是否使用准备好的查询。有一个巨大而显著的性能 处罚 使用准备好的查询。其他测试过他们的人也发现了同样的结果。 准备查询的唯一时间更快的是,如果只准备一次查询,然后用不同的数据值提交它数千次。否则,使用mysqli::query()或pdo::query()总是更快。但要注意,这些函数不会为您转义数据值,因此您需要记住对数据变量使用mysqli::real_uuescape_u string()或pdo::quote()。 |
![]() |
6
4
我通常建议使用PDO,除非有特定的原因您不能。如果两者之间没有什么区别,并且您没有理由不使用PDO,那么我相信在您的应用程序中使用DB抽象的实践比使用MySQL更好,因为它确实存在。我会说让最佳实践获胜。 |
![]() |
7
3
在这两种情况下,您从同一个PHP服务器调用同一个MySQL服务器…所以你不会注意到很多不同。 如果您想要好的性能,可以考虑缓存(memcache或简单的php文件…)并创建一个好的数据库结构(index…) |
![]() |
8
3
MySQL_*
两个功能相同,但您比较代码 PDO更人性化地可读:) 你怎么想? |
![]() |
9
2
如果性能对您来说不是一个“真正的问题”,您应该使用PDO。性能差别不大,PDO有一个非常好的、可移植的跨数据库接口,如果您需要使用多个数据库驱动程序,它可以为您节省一些麻烦。 |
![]() |
10
2
|
![]() |
11
0
PDO的一些优点:
|
![]() |
12
-1
PDO数据库连接代码:
正常MySQL数据库连接代码:
或
MySQL数据库连接代码简单,但PDO有很多优点。 |
![]() |
hello_programmers · Mysql从其他表输出一列 2 年前 |
![]() |
Community wiki · 这个MySQL语句出了什么问题? 2 年前 |
![]() |
Community wiki · 优化从同一表中提取的多列的查询 2 年前 |
![]() |
Popo · Sql查询:返回数据库中不可用的where条件 2 年前 |
|
Hamdan Nuramdani · 对账单中一周内不同表中的数据求和 2 年前 |
|
Kugelfisch · 用php为数据库加密数据 2 年前 |