php中mysql操作的buffer知识
2023-09-14 08:59:40 时间
php与mysql的连接有三种方式,mysql,mysqli,pdo。不管使用哪种方式进行连接,都有使用buffer和不使用buffer的区别。
什么叫使用buffer和不使用buffer呢?客户端与mysql服务端进行查询操作,查询操作的时候如果获取的数据量比较大,那个这个查询结果放在哪里呢?
有两个地方可以放:客户端的缓冲区和服务端的缓冲区。
我们这里说的buffer指的是客户端的缓冲区,如果查询结果已经从服务端获取回来了,放置在了客户端的缓冲区,我们就称之为使用buffer。如果还是存放在服务端的缓冲区的话,我们就说没有使用buffer(unbuffer)。
使用buffer和不使用buffer有什么区别?主要在内存方面,使用buffer会增加客户端的内存压力,当返回的数据结果特别大的时候可能会占用调用客户端(实际就是一个php进程)比较大的进程。不使用buffer自然对服务端(这里说的是提供mysql服务的服务器)压力更大。
具体可以参考:PHP查询MySQL大量数据的内存占用分析
php中三种模式是如何设置是否使用buffer的?mysql默认的query是使用buffer的,而不使用buffer就需要使用mysql_unbuffer_query
mysqli默认的query是不使用buffer的,要使用buffer就需要设置MYSQLI_STORE_RESULT
pdo默认的quey是不使用buffer的,要使用buffer就需要设置MYSQL_ATTR_USE_BUFFERED_QUERY
大致相关代码如下:
$db = mysqli_connect($dbConfig[host], $dbConfig[user], $dbConfig[pass], $dbConfig[db]); // mysqli不使用buffer $result = mysqli_query($db, $sql); $data = array();
当然如果数据量非常大的话,大部分人还是会考虑使用分批次来提取和处理数据。所以实际上需要我们关注和使用mysql是使用buffer还是不使用buffer的场景非常少。
如何修复“PHP 安装缺少 WordPress 所需的 MySQL 扩展”的错误? 在WordPress建站,WordPress定制开发过程中,开发者容易遇见“您的 PHP 安装似乎缺少 WordPress 所需的 MySQL 扩展”的错误提示,如果出现这样的情况,应该怎么办?北京六翼信息有限公司的开发工程师指出,要修复错误“您的 PHP 安装似乎缺少 WordPress 所需的 MySQL 扩展”,您需要确保您的 PHP 安装已正确安装和配置 MySQL 数据库驱动程序 (mysqlnd) 和 mysqli 扩展。只有这样,您才能恢复 WordPress 和 WordPress 数据库之间的正常连接,并让您的网站重新运行。
相关文章
- MySQL Error number: MY-011192; Symbol: ER_FIREWALL_ACCESS_DENIED; SQLSTATE: HY000 报错 故障修复 远程处理
- 数据库PHP究竟如何还原MySQL数据库?(php还原mysql)
- 操作MySQL中实现异或操作的小技巧(mysql异或)
- 基于MySQL的PHP留言板系统开发(php留言板mysql)
- PHP与MySQL:搭建你的Web应用(php和mysql)
- ASP.NET操作MySQL数据库技术实例(aspx操作mysql)
- MySQL如何快速创建数据库(mysql创建db)
- MySQL添加字段属性:快速操作指南(mysql添加字段属性)
- MySQL中的输出函数:使用技巧(mysql输出函数)
- MySQL主从同步:手动操作指南(mysql主从手动同步)
- MySQL数据库轻松解锁:简单步骤带你入门(mysql数据打开)
- MySQL安装路径查看:一步步操作指南(mysql安装路径查看)
- 远程访问MySQL:开启数据库新世界(mysql可以远程访问)
- MySQL数据库使用JavaScript操作基于JavaScript实现MySQL数据库自动化操作(mysql-js)
- MySQL 排版优化小技巧,让你的数据库更美观易读(mysql排版)
- MySQL队列并发:解密数据库处理高并发问题(mysql队列并发)
- Efficient MySQL MultipleCondition Deletion: Tips and Tricks(mysql多条件删除)
- 【指南】MySQL数据库实战技巧:如何提取数据?(mysql提取数据)
- MySQL 如何修改存储引擎(mysql 修改引擎)
- MySQL数据库操作中的去重操作(mysql中不重复的命令)
- MySQL如何处理长整型数据类型?(mysql长整型)
- MySQL实现两项数据相加的方法(mysql 两项相加)
- 运用cmd远程操作MySQL数据库(cmd 远程 mysql)
- MySQL 数据库中如何使用分组计数(mysql中分组计数)
- MySQL 数据库多表操作安全加锁的两步关键(mysql两步加锁)
- 上海MySQL培训,学习数据库管理从入门到精通(mysql上海培训)
- MySQL非空判断操作(mysql 不等于空串)
- MySQL数据库不推荐使用root账户进行操作(mysql不是root)
- 如何在MySQL中实现上级获取下级的操作(mysql上级获取下级)