日期:2014-05-19  浏览次数:20723 次

询问一个sql语句的效率问题
询问一个问题,现有一张表执行INSERT操作,其中一部分数据是界面手工输入,还有一部分数据需从其他表取,现在用程序处理直接执行sql语句(简化后语句),如下:
INSERT   INTO   明细表
(Guid,人员ID,人员名称,人员电话,单位ID,单位名称,单位编码,备注)
SELECT   '1 ',人员表.Guid,人员表.名称,人员表.电话,机构表.Guid,机构表.名称,机构表.编码, '测试数据,可以删除! '
FROM   机构表,人员表
WHERE   (机构表.Guid   =   '2 ')   AND   (人员表.Guid   =   '1 ')

不知道,这样的效率如何?
这种方法和分别执行两次SELECT   取两张表内容后,在执行一个简单的INSERT\VALUES比那种更好?还有没有别的更好的思路?

------解决方案--------------------
IO次数多,效率低,第二种较好
------解决方案--------------------
在执行一个简单的INSERT\VALUES效果好

像 jacobsan(梅) 所说
-------------------------
还提供一种思路,写buffer,一次写入txt文档,再通过bcp导入
-----------------------------
数据多这种方法好!