针对一个有50W条记录表来讲查询条件where 后面的条件越多越好 还是有一个和有N个一样
数据库中已经有多个表超多了50W记录 有的已经逼近百万目前依然在使用SQL SVERVER 2000 各位觉得用不用转成oracle

解决方案 »

  1.   

    where 后面的条件越多越好,但查询时间可能会长一些。如果各表都建立了必要的主建或索引,情况会好一些。数据库中已经有多个表超多了50W记录 有的已经逼近百万,SQL SERVER 2000能处理。
    但我建议转oracle是个不错的选择。
      

  2.   

    sql2000还可以用
    我们的服务器用的也是SQL2000 数据已经快200W了 有50多个表
      

  3.   

    我們的系統,4個db,總共table大概600個,store procedure大概500支。
    另外有少量的view,trigger等。
    使用2臺機子cluster server
    操作系統2003
    機子配置 Hewlett Packard HP server rx2620 Itanium 2
    1.30GHz, 9.98GB of RAM.
    Intel Itanium processor familyp.s: 弱弱的想,用來玩游戲會不會很爽?
      

  4.   

    1、条件多,查询的速度肯定慢一些,适当地建立索引有利用提高查询的速度2、对于几百万级表,mssql 完全有能力运行3、由mssql数据库改为oracle数据库,程序要重新写一遍,数据库的脚本也要重新写一遍,工作量比较大
      

  5.   

    几个tb级的数据库,MSSQL还是能够处理的
    再大就困难了你这个应该没问题
      

  6.   

    条件若能有效地利用索引,这种矛盾能够得以缓解
    所以没有绝对的多好还是少好
    几个50W的记录sqlserver处理不了,微软还出什么2005?微软的数据库早歇菜了
      

  7.   

    如果记录中有两个都是 唯一标识的 
    那是都where  and 还是只写一个比较快
      

  8.   

    Where后条件的先后顺序也会影响到SQL语句的执行效率
      

  9.   

    如果记录中有两个都是 唯一标识的  
    那是都where  and 还是只写一个比较快 
    ----一个快
      

  10.   

    不用转换,sql足够用,
    对于条件,要尽量的优化sql语句,建立合适的索引,
    少用临时表,减少表连接,多用存储过程等等。qq307366759 注明csdn
      

  11.   

    没有查询条件越多就越慢, 或是查询条件越多就越快的说法具体的要看具体应用。
    比如tb 50w记录. id idneity 聚集索引
    要求:查出最近5条,近三天内 username 含 aa的记录
    那么写法是
    select top 5... where datediff(dd,datefield,getdate())<=3 and username like '%aa%' order by datefield
    说条件越多就越慢的朋友高兴了,确实越多越慢.如果定期对数据做分析,可以知道三天前的数据的id最小都是大于470000的,那么
    where id>470000 and datediff(dd,datefield,getdate())<=3 and username like '%aa%' order by datefield
    说条件赵多越快的朋友就又高兴了,确实加了这个where id>.. 之后快多了。
    但是去掉 and username like .. 会更快说以说,这个不能一概而论
      

  12.   

    and 可能会块,or可能会慢