• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

PDO介绍[不包括具体使用方法]

php 搞代码 3年前 (2022-01-23) 65次浏览 已收录 0个评论

事实上

PHP对数据库支撑并不好,最重要的一点就是抽象度不够,访问接口不统一。

why

PHP针对每种数据库都有一个独立的模块、一组独立的函数。这样的结构和设计让PHP兼容多种数据库变得困难。
一旦要将一个应用移到另外一个数据库环境中,或添加新的数据库,就需要重新编写和数据库相关的操作。

so

PDO出现了。它是一个抽象的数据模型(一个抽象接口层),提供一个通用接口访问多种数据库。

now

PHP连接数据库有三种选择

  1. MySQL 系列函数:原生函数 过程式风格
  2. MySQLi 系列函数:扩展,MySQL系列函数的增强版,提供过程式和面向对象两种的风格的API,新增预编译和参数绑定等新的特性
  3. PDO:扩展,从语法上更接近MySQLi(5.1及以上支持)

tips

PDO扩展只是一个抽象的接口层,利用PDO扩展本身并不能实现任何数据库操作,必须使用一个特定的数据库PDO驱动访问数据库。

PDO效率问题

既然PDO有如此多的特性,那么应不应该马上使用PDO呢?
[以下结论是基于5.3 测试过程省略]

  1. 首先要考虑效率问题
    如果项目对运行效率要求严格,则应该使用MySQL 或MySQLi
  2. 负载方面
    根据众多使用者测试,PDO开启长连接后负载高于MySQL直连且比较稳定,另有使用者测试,PDO连接MySQL、Oracle 速度比直连有优势。
  3. 应用会迁移到其他数据库吗?
    实际应用中,90%的应用是不会进行数据库迁移的,必要性不大。

综上所述,即使在Oracle中,预编译和参数绑定也不一定能提速,反而有可能会因为执行计划被改变造成效率低下。有些数据库预编译反而会造成效率低下。推荐在新应用中尝试使用PDO,旧应用没必要重构。

[本文观点摘自某书籍]

‘).addClass(‘pre-numbering’).hide(); $(this).addClass(‘has-numbering’).parent().append($numbering); for (i = 1; i <= lines; i++) { $numbering.append($('

  • ‘).text(i)); }; $numbering.fadeIn(1700); }); }); </script>
    本文来源gaodai.ma#com搞##代!^码@网*
    搞gaodaima代码

    以上就介绍了PDO介绍[不包括具体使用方法],包括了方面的内容,希望对PHP教程有兴趣的朋友有所帮助。


    搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
    转载请注明原文链接:PDO介绍[不包括具体使用方法]

    喜欢 (0)
    [搞代码]
    分享 (0)
  • 发表我的评论
    取消评论

    表情 贴图 加粗 删除线 居中 斜体 签到

    Hi,您需要填写昵称和邮箱!

    • 昵称 (必填)
    • 邮箱 (必填)
    • 网址