现在数据库中一张表大约20万条数据, 另外一张1万条左右, 连接此两表查询出600多条数据库大约需要30秒, 我觉得实在太慢了, 请问这样的效率正常吗??

解决方案 »

  1.   

    如果是根据主KEY或者索引检索, 那觉得不正常的.3秒都慢了.
      

  2.   

    查询语句很简单, 
    select *
    from table 
    where col=*** or col=*** or col=***.......
    col的值可能有600多个
      

  3.   

    or 的写法会造成全表扫描 
    你最好把600多个条件 做到一个临时表 然后用in来判断
      

  4.   

    先对col 字段做索引,如果不是很长长度的varchar型还可以建为主键。
    600多个条件做or太夸张了,不如把条件放进一个表里,再关联表查询,这样都快很多!
      

  5.   

    =NULL是赋值语句,不用于判断.
    在其它语言中也用作赋值,但更多作用是销毁对象
      

  6.   

    把col条件生成一张临时表,然后进行关联查询应该可以提高效率