日期:2014-05-18  浏览次数:20538 次

SQL insert update select的问题
我想请问下 insert 10W条数据与select 10W条数据
为什么insert所花时间远远大于select呢?
我想指导其中的原理 不知道哪位大侠明白 指教下。

------解决方案--------------------
不说别的,光说磁盘读写,写盘比读盘慢多了!
------解决方案--------------------
写盘时,还要判断写在哪个存储页上,如果存储页满了还要新设一页,如果表有聚集索引而写入的又是插在中间的,那更慢,要在合适的地方把其他数据挪走,再插入.
读数据只要扫描一下,看是否符合条件,符合即读取,所以,写盘要比读盘慢多了.
------解决方案--------------------
insert into是表存在 然后插入数据 扫描次数多

select..into是创建新表 扫描一次
------解决方案--------------------
写比读开销大,就这么一个道理!
------解决方案--------------------
insert还要记录日志。
------解决方案--------------------
探讨

那请问
一条UPDATE 语句 执行10W条数据

10W条UPDATE语句执行10W条数据

他们的差别又在哪里
一条UPDATE 语句 执行10W条数据可能只需要花费几秒中或是几秒
10W条UPDATE语句执行10W条数据 确要花费几分钟

能不能像qianjin036a给出一个理论上的解释