数据库中已经好好几十万数据了,现在添加数据时候要判断 网站标题是否存在,但下面我写的语句总感觉效率不高有没有其它写法,可以提高效率$sql="SELECT id from news where title = '".$v."' LIMIT 1";
$query=mysql_query($sql);
if (mysql_fetch_row($query)==0)
{
    //数据不存在,写入数据。。
}

解决方案 »

  1.   

    同时建议代码这样写$sql="SELECT id from news where title = '".$v."' LIMIT 1";
    $query=mysql_query($sql);
    if (mysql_fetch_row($query)==false)
    {
      //数据不存在,写入数据。。
    }
      

  2.   

    为什么要加limit呢、limit本来就降低了效率(很严重),多此一举
      

  3.   

    $sql="SELECT id from news where title = '".$v."' LIMIT 1";
    =>
    select count(*) from news where title = ...
      

  4.   

    建索引 分表可以试试
    终极解决
    看我博客里的BloomFilter算法实现
      

  5.   


    select count(*) 比 SELECT id 效率高 ?
      

  6.   

    select count(id) from news where title = ...
      

  7.   

    select 1 from tabel where a = a
      

  8.   


    我是菜鸟,请问建立索引,是在PHPMYadmin 后台点下那个 索引小图标就行了吗?
      

  9.   

    select count(id) from news where title = ...
    select count(*) from news where title = ...这两个,又是谁高效点了 ?
      

  10.   

    一般而言,在数据逻辑相同的情况下,COUNT(*) 永远不会比 COUNT(id) 的效率低。对于这个实际例子来说,应该是一样的。
    ————————————————————————————————
    基于CSDN论坛提供的插件扩展功能,自己做了个签名档工具,分享给大家,欢迎技术交流 :)
      

  11.   

    思想误区,大家总是认为*字段比id字段多,其实不然,count(*)做过优化