有两个数据库表
表一 a1
ID  N1  N2
1    2      2
2    3      3表二 a2
ID N1 N2
1    3    3
3    4    4表一有500万条数据,表二有600万条数据,用表二的数据修改表一的数据。程序执行效率慢,分析造成此问题的原因,并说明解决方法。

解决方案 »

  1.   

    程序执行缓慢可能引发原因 :
    (1)数据库配置文件配置不合理 
    (2)执行修改SQL脚本如何编写的,是否使用连接语句代替子查询(IN) ?
    (3)执行修改SQL脚本中的where语句是否用到索引 ?
    (4)尽可能多的写出可以实现修改的SQL脚本,之后使用 explain 进行分析 (如果数据库版本低于5.6,只能对应关联条件中的查询语句进行分析,如果版本高于5.6可以对整个SQL脚本进行分析)
    (5)数据库表是否用到“锁”,隔离级别是什么?是否可以使用更优的“事务隔离级别” ...... 抛砖引玉 
      

  2.   

    是否为两张表的where条件加上索引
      

  3.   

    至少先把使用SQL语句贴出以供分析.另外把 explain select .. 及 show index from ..
    贴出,这样可以针对性分析,而不是去猜测有多少种方法可以造成性能不佳。