询问一个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导入
-----------------------------
数据多这种方法好!