需要查询的表中数据量都很大,用连接查询会不会给数据库带来很大的压力,对于程序员来说如何兼顾数据库的性能

解决方案 »

  1.   

    关键是要让sql statement走合适的执行计划。
    否则让两个超过千万的数据表table full scan,然后又用nested loop的话,怕是有较大问题。
      

  2.   

    1、查询要和统计分开,如果是统计之类的,实时性要求不高的
       建议通过job在晚上比较空闲的时候调用存储过程做成日结。最后生成报表。
    2、在表中可以多做一些冗余(以空间换时间),这样少做一些关联。
    3、大表上要做相应的分区,在查询时尽时使用到分区字段。
    4、如果有时间,在查询时要做时间段限制,如限制在一个月以内等。
    5、在情况允许的情况下尽量多做些限制(即多增加一些必输的条件)。