国产一级一区二区_segui88久久综合9999_97久久夜色精品国产_欧美色网一区二区

掃一掃
關注微信公眾號

Oracle表列管理更加簡單只要三招
2009-06-04   IT專家網

     Oracle數據庫是目前為止最復雜的一個數據庫之一。也正是這種復雜性,讓Oracle數據庫能夠面對企業各種各樣的需求。不過大部分時候,數據庫管理員掌握一些技巧,可以讓數據庫維護工作變得簡單。筆者這里就以Oracle數據庫中表列的管理為例,談談這方面的問題。

  一、 把列設置為UNUSED狀態,代替刪除。

  當數據庫部署完成之后,即使在數據庫使用過程中,數據庫管理員仍然可以對數據庫的表進行維護,如刪除列等等。刪除列將刪除表中每條記錄的相應列的值,同時釋放其所占用的存儲空間。所以如果要刪除一個大表中的列時,由于其必須對每條記錄都進行相應的處理,為此這個刪除列的操作會占用比較長的時間。如有個數據庫管理員一次在設計一個人員管理系統時,一開始是把人員的住址跟人員信息表放置同一個表中。可是后來證明這個設計是錯誤的。一方面因為人員住址的字段比較長,而且有些由于住址難以確定,這個字段還是空的。另一方面,一個人員其可能住址變更了好幾次,而出于管理的需要,又要保存起以前的住址信息。為此最后一個人員可能同時對應多個住址信息。所以后來數據庫管理員調整了設計,另外建立了一張表,然后利用人員編號把它們關聯起來。由于那時表中的紀錄已經比較多了,如果要刪除列的話,那么可能這個刪除作業需要執行時間比較長。

  為了避免在數據庫使用高峰期間由于執行刪除列的操作而占用過多的系統資源(而且時間比較長),為此筆者建議不要馬上采用DROP關鍵字來刪除列。而可以先用UNUSED關鍵字把某個列設置為不活躍狀態。如可以利用命令ALTER TABLE ADRESS SET UNUSED,把某個列設置為不活躍。如此設置之后,從用戶的角度來看,被設置為UNUSED狀態的列于被直接刪除的列之間是沒有任何區別的。用戶無法通過查詢或者在數據字典中看到這些列。而且即使在表中,也可以插入相同列名的列。簡單的說,對于用戶來說,這個設置為UNUSED的列就好像刪除了一樣。但是從數據庫角度來說,在是不一樣的。其這個列只是別設置為UNUNSED列,但是在數據庫中仍然是存在的。也就是說,這個列所占用的存儲空間沒有被釋放。為此即使在數據庫運行的高峰時期,為列加入這個標記也不會占用多少的時間和系統資源。

  為此,筆者的意見是,當數據庫比較繁忙時而且數據庫表中的紀錄又比較多,則可以不從物理上刪除這個列,而先把這個列標記為UNUSED狀態。這可以減少因為刪除列而給數據庫正常使用帶來的負面影響。雖然這要犧牲一點硬盤空間,可是現在硬盤便宜。為了數據庫的性能,犧牲這點硬盤空間是值得的。等到數據庫比較空的時候,再把這些列刪除即可。這對于用戶來說,是不會受到任何影響的。這只是在技術處理上的問題。

  為了便于管理這些UNUSED列,在Oracle數據庫中還提供了一張視圖(這張視圖的名字為USER_UNUSED_COL_TABS),幫助數據庫管理員來管理這些列。通過查詢這張視圖,數據庫管理員可以了解數據庫哪些表中存在UNUSED列。然后數據庫管理員可以根據實際情況,一個月或者一年來清除一下。這不僅可以提高數據庫的運行效率,而且也不會因為刪除列的操作影響到用戶的正常使用。

  二、 給列表添加相關的注釋。

  俗話說,好記性不如爛筆頭。在數據庫設計的時候,給表或者列添加一些必要的注釋,可以提高其可讀性,也有利于后續的維護與升級。像筆者這種專業的數據庫設計與開發人員,往往一個人需要負責很多項目,即同時要負責多個企業的數據庫軟件。當項目數量一多,一年后可能就不知道某個數據庫的某張表到底用來做什么用途。即使采用了比較合適的表名字編碼或者列名字編碼規則,但是憑借這些簡單的代碼,仍然不能夠直觀的反應出這些代碼的含義。為此,在必要的時候,我們往往需要給表或者列添加相關的注釋,方便后續對其進行維護與升級。

  為了實現這個目的,我們可以利用COMMENT關鍵字。如COMMENT ON TABLE 表名 IS ‘注釋內容’即可。在使用這個命令的時候需要注意的是,注釋中的內容必須利用單引號括起來,而不是使用雙引號。因為如果注釋中含有特殊字符的話,如單引號、通配符等等,最好能夠采用其他的字符代替。如果非要用這些字符的話,那么就需要采用轉義字符,讓數據庫系統認為這是普通的字符。通常情況下,注釋的內容可以多大4000個字節,足夠數據庫管理員用來表述表的用途。另外在注釋的內容中可以包含標點符號、空格字符、特殊字符(不建議使用)等等。而且還可以跨越多個物理行,以提高可讀性等等。不過雖然其提供了長達4000個字節的說明,但是數據庫管理員在寫注釋的時候,最好能夠短話短說。不然的話,以后要花大量的時間來讀這些備注的內容,可不是一件好差事。未必筆者認為,在寫這個表注釋的時候,最好能夠點到為止,而不要想寫項目說明書那樣寫的面面俱到。

   除了給表添加注釋外,在Oracle數據庫中還可以給列添加注釋。這個添加的方法跟上面的類似,只需要把關鍵字ON TABLE更改為ON COLUMN 即可。當有多個人共同開發一個數據庫時,最好能夠在表或者列中添加必要的注釋。即使不在這里添加說明,那么在獨立的設計文檔中,也需要進行詳細的說明。一般情況下,筆者認為需要說明如下內容。一是創建者(誰創建的或者誰更新的);二是創建的時間(什么時候創建或者什么時候更新的);三是需要注明創建或者更新的目的;四是要注明這個列的一些約束條件。另外需要注意的是,如果后來有人更新這個表或者列的時候,如調整某個字段的大小,最好不要把原先的注釋覆蓋掉。而是直接在原有的注釋后面加入新的注釋。這些措施有利于后續的維護以及數據庫的升級。

  三、 重新組織表。

  有時候出于改善數據庫表的性能等目的出發,需要對Oralce數據庫的表進行重新組織。如在Oracle數據庫中,如果對表進行頻繁的DML操作,會使得這個表產生比較多的空間碎片與行遷移,從而給數據庫的性能帶來負面影響。這種情況在一些事務型的數據庫中是比較常見的。此時就需要重新組織表,如可以將移動一個位置,從而減少碎片,提高數據庫的性能。#p#分頁標題#e#

  大部分情況下,筆者都是利用ALTER TABLE MOVE語句來重新組織表。如可以利用這條語句,將某個表移動到同一個表空間的新數據段中。移動以后這對于用戶來說是沒有任何影響的。但是卻可以重建表的存儲結構,從而減少碎片,優化性能。當然,也可以利用這個語句把現有的表移動到其他的表空間中去。不過在使用這個語句的時候,數據庫管理員還是需要注意幾個限制。

  一是在使用這條語句中要注意有足夠的空閑空間;如果在同一個表空間進行移動的話,則需要主要表空間能夠容納這個數據。這注意是因為,這個操作就好像是兩個操作結合而完成的一項操作。其首先將這個表復制到指定的位置,然后再刪除原來的表。也就是說,直到表被完全移到新的數據段中之后,數據庫才會刪除原來的數據段。所以這個空閑空間一定要保證,否則的話,就可能導致這個作業無法順利完成。

  二是在利用這個語句重新組織表的過程中,原表的ROWID會發生改變。而這個值改變后最大的影響就會使得表中的索引失效。為此在使用這個語句重新組織表之后,就需要對此表重新建立索引。這也就是說,在短時間內用戶使用這個表會受到一定的影響。為此在執行這個操作的時候,最好能夠選擇數據庫比較空閑的時候。如果在執行這個語句時能夠暫時中斷用戶的連接,那時最好的。

  數據庫管理員可以通過數據字典來查詢存儲空間的碎片狀態。如果碎片確實比較多的話,在筆者推薦使用這個語句來重新組織表,以減少碎片空間。如果整個數據庫存儲空間中都分布著大量的碎片,而不是個別表的問題,那么就需要采用數據泵工具來重新組織全部的表,在最大程度上減少碎片。

熱詞搜索:

上一篇:MySQL中隱藏空間問題介紹
下一篇:Oracle數據庫中的字符處理技巧總結

分享到: 收藏
国产一级一区二区_segui88久久综合9999_97久久夜色精品国产_欧美色网一区二区
欧美国产日韩a欧美在线观看| 久久精品亚洲精品国产欧美| 国产性做久久久久久| 一区二区三区精品在线| 亚洲欧美日韩综合aⅴ视频| 国产欧美精品区一区二区三区 | 一区二区三区精品在线| 国产98色在线|日韩| 亚洲另类在线视频| 国产精品蜜臀在线观看| 欧美一区二区三区在| 大胆亚洲人体视频| 日韩国产成人精品| 青青草精品视频| 日本中文字幕一区二区视频 | 欧美日韩日日夜夜| 91在线国产观看| 欧美日韩精品一区二区天天拍小说 | 久久爱www久久做| 大陆成人av片| 中文字幕在线播放不卡一区| 成人精品视频一区二区三区尤物| 亚洲国产精品t66y| 亚洲欧美偷拍卡通变态| 亚洲欧洲成人精品av97| 99久久国产免费看| 裸体在线国模精品偷拍| 久久久久久久久久美女| 欧美日韩一级黄| 夜夜嗨av一区二区三区中文字幕 | 美腿丝袜在线亚洲一区| 666欧美在线视频| 国产精品无圣光一区二区| 91免费视频网| 国产精品国产馆在线真实露脸| 成人免费毛片片v| av网站一区二区三区| 亚洲乱码国产乱码精品精98午夜 | 精品国产亚洲在线| 欧美高清激情brazzers| 国产成人精品三级| 国内精品第一页| 色诱视频网站一区| 麻豆精品精品国产自在97香蕉| 国产精品每日更新在线播放网址 | av色综合久久天堂av综合| 欧美日韩精品三区| 欧美日韩在线不卡| www.欧美色图| 欧美三级资源在线| 成人美女在线观看| 久久精品一区二区三区不卡牛牛| 欧美日韩国产免费| 国产一区视频导航| 91蜜桃视频在线| 国产成人av影院| 图片区小说区国产精品视频| 亚洲精品伦理在线| 日韩限制级电影在线观看| 日产国产欧美视频一区精品| 久久久久国产精品免费免费搜索 | 综合久久久久久| 日韩一区二区三区在线视频| 成人h版在线观看| 国产欧美日产一区| 欧美日韩高清影院| 99久免费精品视频在线观看 | 日韩一级二级三级精品视频| 欧美日韩精品一区二区天天拍小说| 国产精品88888| 久久99国产精品成人| 麻豆一区二区99久久久久| 亚欧色一区w666天堂| 久久女同精品一区二区| 国产精品麻豆久久久| 精品久久久久久无| 国产精品国产三级国产普通话三级| 久久午夜国产精品| 亚洲精品免费在线观看| 欧美三级在线看| 久久久亚洲精华液精华液精华液| 欧美欧美欧美欧美首页| 欧美在线影院一区二区| 在线观看欧美精品| av男人天堂一区| 91色视频在线| 91精品国产综合久久小美女| 欧美久久久一区| 日韩精品在线一区二区| 国产精品久久久久久久浪潮网站| 国产午夜亚洲精品理论片色戒 | 色综合久久中文字幕| av在线免费不卡| 色综合 综合色| 在线成人免费视频| 久久久久亚洲蜜桃| 国产精品网站在线观看| 中文字幕一区二区三区不卡在线| 亚洲欧美日韩一区| 亚洲国产日韩在线一区模特| 天天色综合天天| 极品少妇一区二区三区精品视频 | 婷婷开心久久网| 天天综合色天天综合| 免费看日韩a级影片| 美日韩一区二区三区| 久久精品免费观看| 成人av电影在线播放| 欧美午夜寂寞影院| 久久99精品国产.久久久久久| 美女一区二区久久| 成人午夜在线视频| 欧美在线观看一二区| 欧美成人精品3d动漫h| 亚洲欧美在线高清| 日本不卡中文字幕| 成人永久看片免费视频天堂| 狠狠色伊人亚洲综合成人| 成人美女视频在线观看| 欧美精品黑人性xxxx| 夜夜揉揉日日人人青青一国产精品| 免费在线观看精品| 国产成人av资源| 日韩欧美一区中文| 一区二区在线电影| 国产成人三级在线观看| 在线综合亚洲欧美在线视频| 亚洲欧美综合在线精品| 国产在线视频一区二区三区| 欧美日韩一区二区在线观看| 欧美日韩国产在线观看| 精品久久久久一区二区国产| 一区二区三区波多野结衣在线观看| 免费不卡在线观看| 欧美视频精品在线| 自拍偷拍国产亚洲| 国产成人啪午夜精品网站男同| 欧美日韩一区二区三区免费看| 日本一区二区不卡视频| 蜜臀av性久久久久蜜臀aⅴ四虎| 91蜜桃免费观看视频| 国产午夜精品一区二区三区嫩草| 亚洲高清免费观看| 91视频.com| 成人av在线网| 欧美日韩国产在线观看| 一区二区三区资源| 色94色欧美sute亚洲线路一久 | 中文幕一区二区三区久久蜜桃| 日韩主播视频在线| 欧美日韩国产成人在线免费| 亚洲欧美偷拍三级| 国产99久久久久久免费看农村| 欧美日韩不卡一区| 亚洲免费在线播放| 91亚洲永久精品| 亚洲免费观看高清| 色婷婷综合久久| 亚洲精品久久久久久国产精华液| 不卡的av中国片| 中文字幕一区二区三中文字幕| 国产成人亚洲综合a∨婷婷 | 一区二区三区在线高清| 91丨porny丨国产| 日韩精品三区四区| 中文字幕乱码一区二区免费| 欧美午夜精品久久久久久孕妇| 久久99国产精品久久99果冻传媒| 国产精品天干天干在观线| 欧美日韩大陆在线| 国产成人午夜视频| 午夜av区久久| 中文字幕五月欧美| 26uuu久久综合| 欧美剧情电影在线观看完整版免费励志电影 | 777久久久精品| 成人黄色在线看| 免费观看一级特黄欧美大片| 中文字幕一区二区三区色视频| 91精品国产综合久久久久久漫画| 国产91精品免费| 久久精品99国产精品日本| 一区二区三区在线观看视频| 国产日本欧洲亚洲| 精品国产电影一区二区| 欧美喷潮久久久xxxxx| 91婷婷韩国欧美一区二区| 国产不卡在线播放| 国产一区二区三区视频在线播放| 亚洲最色的网站| 亚洲天堂福利av| 国产精品久久二区二区| 国产欧美日韩在线观看| 欧美一区二区成人| 欧美日韩久久久一区| jizz一区二区| www.欧美精品一二区| av不卡在线播放| k8久久久一区二区三区| 粉嫩高潮美女一区二区三区|