php+mysql非缓冲查询(如何循环大数组)
2015-10-01 09:10
721 查看
另外一种PHP查询模式是非缓冲查询,数据库服务器会一条一条的返回数据,而不是一次全部返回,这样的结果就是PHP程序消耗较少的内存,但却增加了数据库服务器的压力,因为数据库会一直等待PHP来取数据,一直到数据全部取完。
很显然,缓冲查询模式适用于小数据量查询,而非缓冲查询适应于大数据量查询。
mysqli
pdo_mysql
mysql
很显然,缓冲查询模式适用于小数据量查询,而非缓冲查询适应于大数据量查询。
mysqli
<?php $mysqli = new mysqli("localhost", "my_user", "my_password", "world"); $uresult = $mysqli->query("SELECT Name FROM City", MYSQLI_USE_RESULT); if ($uresult) { while ($row = $uresult->fetch_assoc()) { echo $row['Name'] . PHP_EOL; } } $uresult->close();
pdo_mysql
<?php $pdo = new PDO("mysql:host=localhost;dbname=world", 'my_user', 'my_pass'); $pdo->setAttribute(PDO::MYSQL_ATTR_USE_BUFFERED_QUERY, false); $uresult = $pdo->query("SELECT Name FROM City"); if ($uresult) { while ($row = $uresult->fetch(PDO::FETCH_ASSOC)) { echo $row['Name'] . PHP_EOL; } }
mysql
<?php $conn = mysql_connect("localhost", "my_user", "my_pass"); $db = mysql_select_db("world"); $uresult = mysql_unbuffered_query("SELECT Name FROM City"); if ($uresult) { while ($row = mysql_fetch_assoc($uresult)) { echo $row['Name'] . PHP_EOL; } }
相关文章推荐
- 阿里云ECS上装WDCP后装Wordpress后台某些页打不开
- 帝国备份王放到空间以后打开index.php显示空白页,解决办法
- ThinkPHP神秘应用架构扩展
- PHP漏洞全解(五)-SQL注入攻击
- php中的脚本加速扩展opcache
- LAMP配置+ftp(以Ubuntu14为例)
- php中preg_match的isU代表什么意思
- 【PHP错误捕获分享】PHP捕获应用错误 简单记录并友好处理展示
- php 奇怪现象,求大神解答
- phpMyAdmin提示找不到mcrypt和mbstring模块
- ThinkPHP--注册表单验证
- ThinkPHP--后台商品修改实现
- ThinkPHP--删除数据及原生sql语句执行
- ThinkPHP--实现数据修改save
- ThinkPHP--收集表单数据并实现收集添加
- ThinkPHP--添加数据记录add (实现数据添加)
- ThinkPHP--聚合函数及having使用细节
- ThinkPHP--各种查询条件设置
- ThinkPHP--数据查询select及smarty配置
- ThinkPHP-3种实例化model方法