读书人

SQL insert update select的有关问题

发布时间: 2012-03-01 10:25:46 作者: rapoo

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给出一个理论上的解释

读书人网 >SQL Server

热点推荐