急救!!!数据库优化和sql语句优化

兄弟姐妹们,问一个关于数据库优化和sql语句优化的问题:我想从表B中查询数据插入到表A中,写了一个如下的sql语句insert into 表A select * from 表B where B.a||B.b not in (select A.a||A.b from 表A) 说明:①两张表中都没有建索引②表A和表B都是用相同的字段a和b做联合主键...显示全部
兄弟姐妹们,问一个关于数据库优化和sql语句优化的问题:
我想从表B中查询数据插入到表A中,写了一个如下的sql语句
insert into 表A select * from 表B where B.a||B.b not in (select A.a||A.b from 表A)
说明:
①两张表中都没有建索引
②表A和表B都是用相同的字段a和b做联合主键
③表B向A中插入B中有而A中没有的数据
④表A中有21万行数据,表B中有28万行数据

问题:
sql语句执行的超级慢,四个小时都没有执行完,我怀疑是直接卡死了……

求救,不知道谁对数据库了解,帮忙优化一下数据库或者sql语句,要求在上面说明白了,就是怎么解决慢的问题。

备注!!数据库是达梦数据库收起
参与15

查看其它 12 个回答good2000athena的回答

good2000athenagood2000athena软件开发工程师尚哲
四楼正解.用left join效率最快.二十几万不是大数据.当达到百万,千万级别时,效率才能显出来.测试过.
互联网服务 · 2013-08-01
浏览1638

回答者

good2000athena
软件开发工程师尚哲

good2000athena 最近回答过的问题

回答状态

  • 发布时间:2013-08-01
  • 关注会员:1 人
  • 回答浏览:1638
  • X社区推广