如题。我有个4表联合查询,在局域网用web页面查询,10万数据也要10-15秒才能显示结果,感觉实在太慢。有人建议可以考虑增加表的字段冗余来实现,可行吗、在实际应用中,如何达到数据库设计规范和查询效率的完美统一?

解决方案 »

  1.   

    在局域网用web页面查询,10万数据也要10-15秒才能显示结果,感觉实在太慢。这还嫌慢?把这几个表需要关联的字段加上索引。
      

  2.   

    本人一直支持适当增加表的字段冗余的观点,将常用作查询的字段还按原来关联设计,但同时保存一分数据到主表中,并作成非聚集索引,这样会减少join带来的效率降低,并能提高查询的效率,需要增加的工作是,写语句维护关联的更新,到了追求效率的阶段,我想这不算什么难事
    规范能提高设计效率,有时候对高手也是一种束缚。
    另外别先join再过滤,应先过滤再join等一些细节也要注意,别过分追求一条语句,往往看似很笨的办法,其实是效率较高的方法。