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

      

  • 相关阅读:
    哈希值
    webpack配置(二)
    点击input选中文本
    height:calc(100%
    -webkit-overflow-scrolling
    字符串转数组
    gulp报错160
    webpack配置(一)
    移动端ios中click点击失效
    Spring定时器Quartz的用法
  • 原文地址:https://www.cnblogs.com/adtuu/p/4850665.html
Copyright © 2020-2023  润新知