zoukankan      html  css  js  c++  java
  • php+mysql非缓冲查询(如何循环大数组)

    另外一种PHP查询模式是非缓冲查询,数据库服务器会一条一条的返回数据,而不是一次全部返回,这样的结果就是PHP程序消耗较少的内存,但却增加了数据库服务器的压力,因为数据库会一直等待PHP来取数据,一直到数据全部取完。

    很显然,缓冲查询模式适用于小数据量查询,而非缓冲查询适应于大数据量查询。

    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; 
       } 
    } 
    

      

  • 相关阅读:
    类和迭代器
    使用委托调用函数
    自定义类和集合
    带函数的参数返回函数的最大值
    使用程序调试输出窗口
    自定义类
    类和结构
    全局参数
    带参数的函数返回数组之和
    IS运算符
  • 原文地址:https://www.cnblogs.com/adtuu/p/4850665.html
Copyright © 2011-2022 走看看