php编程,apache服务器反馈问题

有一个简单的模拟即时通讯的php代码,代码如下:

 <?php 
set_time_limit(0);    
ob_start();   
$pad = str_repeat(' ', 4000);    
echo 'OK<br />';
ob_flush();      
flush();  
$conn = mysqli_connect('localhost','root','');   
mysqli_query($conn,'use test'); <br />
while (1) {
    $sql = 'select * from msg where flag = 0';
    $rs = mysqli_query($conn,$sql);   
    $row = mysqli_fetch_assoc($rs);   
    if(!empty($row)) {   
        echo $pad,'<br />';   
        echo $row['content'],'<br />';   
        mysqli_query($conn,'update msg set flag=1');   
            }
    ob_flush();
    flush(); 
    sleep(1);  
} ?>

代码可以正常运行,可以有个小问题就是每次在mysql里插入两个数据后浏览器才会收到apache服务器传来的数据再显示出来。
请问可以怎么优化一下?

查了一下关于flush()函数的用法,有一句说:“一些版本的 Microsoft Internet Explorer 只有当接受到的256个字节以后才开始显示该页面,所以必须发送一些额外的空格来让这些浏览器显示页面内容。”,虽然我用的是chrome,但是我把‘$pad = str_repeat(' ', 4000); ’改成‘$pad = str_repeat(' ', 40000); ’后,在表里添加一个数据,浏览器上马上就能显示了。