標籤:sqlserver 和oracle
2012年使用了一點oracle,那個時候其實並不真正的瞭解這個資料庫,所會的也就是利用toad做一些簡單的管理,後來轉戰到sqlserver才開始對資料庫這個東西有了一些瞭解。使用了sqlserver有一年多了,後來又開始使用了oracle了,讓我一陣須臾,這回多少也該弄懂了oracle這個大大了吧,經過我的使用還真是發現了一些不同。
sqlserver在儲存中使用了不少的暫存資料表,因為這有助於管理好資料的edit,但是這個方法在oracle中確實很少見的,因為對於oracle來說,暫存資料表的建立與正是表的建立消耗的資源是一樣的,對資料庫的壓力是很大的,不能自由的建立和釋放。其實我到現在也不太明白oracle是怎麼處理大型綜合資料的,給我的一個直觀的感受是oracle多使用小量代碼的儲存結構,而sqlserver 則擅長使用大量代碼的儲存結構。
sqlsever是很少使用觸發器的,至於為什麼我是沒有仔細研究過,觸發器可以協助我們處理一些固定的規則的增量資料事物,哦對了,sqlserver也不怎麼使用事物,但是這在oracle中是常見的。當然做資料營運的時候有的時候觸發器如果不瞭解可不是什麼好事。
sqlserver我是沒見過使用遊標的,也許你會驚訝,在寫代碼的時候難道沒有寫遊標嗎?那個遊標是要寫的,但是在儲存中,我還真沒見過遊標式的提取資料,但是這種方法在oracle中卻是大行其道的,oracle中使用遊標提取資料,然後做處理,sqlserver則善於使用暫存資料表處理。不過我並不清楚oracle是怎麼調用儲存和提取資料的,因為工作中並沒有涉獵過,以後有時間會研究下。
知道了一些sqlserver和oracle的不同,讓我對mysql也有了一些好奇,但是由於不經常使用,只是偶爾做一些基本的使用,所以感觸不深,因為並不是做DBA,我其實也沒多大動力去研究深入,不過作為茶餘飯後,我想有時間我順手看下好了,至於T-SQL和PL/SQL的用法區別就沒法說了,就像sql不區分大小寫資料,而oracle則嚴格區分大小寫和空格一樣,這和性格一樣,微妙的地方太多了。不過特別喜歡toad帶來的monitor機制,這點希望sqlserver抓緊努力!!
本文出自 “如風般的自由” 部落格,謝絕轉載!
關於sqlserver和oracle的一點感受