多表联合查询,是不是效率很低、速度很慢?
如题。我有个4表联合查询,在局域网用web页面查询,10万数据也要10-15秒才能显示结果,感觉实在太慢。有人建议可以考虑增加表的字段冗余来实现,可行吗、在实际应用中,如何达到数据库设计规范和查询效率的完美统一?
------解决方案--------------------索引是解决速度问题最直接的方法
------解决方案--------------------在局域网用web页面查询,10万数据也要10-15秒才能显示结果,感觉实在太慢。
这还嫌慢?
把这几个表需要关联的字段加上索引。
------解决方案--------------------^_^
------解决方案--------------------呵呵,不知道是不是数据量显示多,如果是这样可以写个分页存储过程
------解决方案--------------------本人一直支持适当增加表的字段冗余的观点,将常用作查询的字段还按原来关联设计,但同时保存一分数据到主表中,并作成非聚集索引,这样会减少join带来的效率降低,并能提高查询的效率,需要增加的工作是,写语句维护关联的更新,到了追求效率的阶段,我想这不算什么难事
规范能提高设计效率,有时候对高手也是一种束缚。
另外别先join再过滤,应先过滤再join等一些细节也要注意,别过分追求一条语句,往往看似很笨的办法,其实是效率较高的方法。
------解决方案--------------------1.增加索引
2.升级硬件