作者bear1005 (πBear)
看板Database
标题[SQL ] 取代语法导致系统空间不够
时间Tue Jun 4 15:58:42 2013
各位前辈好,实在是求救无门
想再来这边请教
因为我资料有780万笔,我的语法取代跑一下就跟我说空间不足,
我空间预留有40GB还是不够
这样我应该怎麽改写语法?
才可以有效的处理
TEST10M为表A
ODLINE为表B
要更新表A的栏位,从表B抓取资料,
(当表A的上分区、下车分区=表B的上下车分区名称时,让表A的linewkt栏位=表B的线座标)
我的取代语法如下
UPDATE[BUS10_new].[dbo].[test10M]
SET [BUS10_new].[dbo].[test10M].[linewkt] = [BUS10_new].[dbo].[ODLINE].[
线座标]
FROM [BUS10_new].[dbo].[ODLINE] WHERE ([BUS10_new].[dbo].[ODLINE].[上车
分区] = [BUS10_new].[dbo].[test10M].[上车交通分区名称])
and([BUS10_new].[dbo].[ODLINE].[下车分区] = [BUS10_new].[dbo].[test10M].[下车
交通分区名称])
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.134.128.187
1F:→ iFEELing:undo(? 空间不够。如果一次改很大一片的话 分小块改看看 06/04 22:50
2F:→ iFEELing:然後改完要COMMIT 06/04 22:50
3F:→ bear1005:一次要它全跑780万笔..但是我不太懂楼上所说的东西 06/04 23:14
4F:→ iFEELing:如果你有开TRANSACTION 在COMMIT之前都有可能ROLLBACK 06/04 23:47
5F:→ iFEELing:所以DBMS会保留你COMMIT前所有的变更记录准备倒回用 06/04 23:47
6F:→ iFEELing:也就是说你改的范围越大 这预备倒回的保留区就越大 06/04 23:48
7F:→ iFEELing:保留区空间不足=DBMS无法确保资料一致性=交易失败 06/04 23:51