请教一个数据库优化问题,有一个book表,
int bookid pk,
varchar bookname , 
varchar booktype ,
datatime addtime 索引(hash),
在这个表上有如下的sql语句进行搜索select * form book where addtime <2008.10.1 and addtime >2007.10.1 and type = ‘计算机类’
已知表中数据大于2亿条,请问如何修改这个sql语句和表结构,使查询的效率更高

解决方案 »

  1.   

    把type改成int型,加索引,需要什么字段就select什么字段不用*
      

  2.   

    表分区
    把type类型改为int
      

  3.   

    能不能说下表分区的分法呢,还有为什么要改成int?
      

  4.   

    把where后的几个条件顺序调一下
      

  5.   

    int的检索速度比vchar快,“把where后的几个条件顺序调一下”这个没什么必要,数据库一般都有这样的优化,像db2这个是不影响的