本帖最后由 sapherise 于 2011-09-11 14:29:59 编辑

解决方案 »

  1.   

    我觉得吧你的查询语句有问题
    select email,user,content from room where em='$_GET[em]' and date>=unix_timestamp()-2 and email!='$_COOKIE[em]' order by id desc我没有开发过聊天室.所以只能根据你的这些代码提点个人的建议
    是不是应该查询聊天记录的编号的差 而不应该用时间差做为条件比较合适? 另外这种高并发的查询 用这样的SQL语句效率因该很低吧? 几个and  还要order...
      

  2.   

    晕倒。这个还不简单啊。你每一次读取数据的时候,把最后一条数据的ID保存过来,2秒或者1秒后再读数据的时候,把ID传进入。就成了  where id>最后的ID。这样打死不能重复了。不要用时间来判断,如果用户量极大,那时间保证出问题。