同時多個SQL命令執行的方法

charsi發表於2010-11-07

我們有時候會遇到類似這種情況:需要對不同的表上建立索引,有很多建立索引的語句,但是把它們都在一個視窗執行的話,它只是序列的去處理,如果能夠讓他們同時執行呢?
有兩種方法:
1.寫多個指令碼檔案,同時執行
及同時寫成多個指令碼,每個指令碼都可以獨立執行,然後將這些指令碼都同時後臺執行,就可以達到同時執行的效果了.
示例單個指令碼的方法:
sqlplus charsi/charsi </dev/null
select * from dual;
EOF

2.指令碼里面後臺執行程式
如下,使用類似echo "select * from dual;"|sqlplus charsi/charsi的命令,只是對一個語句執行一個sqlplus,然後將這些語句都後臺執行,如下:
[oracle:/home/oracle/charsi#]cat test_parallel.sh
echo "select * from dual;"|sqlplus charsi/charsi >/dev/null &
echo "select * from dual;"|sqlplus charsi/charsi >/dev/null &

相比較來說,第一種方法可以寫成多個指令碼,指令碼比較多比較複雜但是比較靈活;
第二個方法將所有的方法都寫到一個指令碼中,只需要一個指令碼,相對靈活性不太好.

[@more@]

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/23850820/viewspace-1041119/,如需轉載,請註明出處,否則將追究法律責任。

相關文章