亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Oracle學習篇之SQL語句的優化

發布時間:2020-07-08 05:30:52 來源:網絡 閱讀:409 作者:yangrongze123 欄目:關系型數據庫

Oracle學習篇之SQL語句的優化

①在使用SELECT語句查詢時,不要用“*”代替所有列名,因為這樣的寫法對Oracle系統來說會存在解析的動態問題。Oracle系統會通過查詢數據字典來將“*”轉換成表的所有列名,這自然會消耗系統時間。

②在子查詢中,[NOT] IN子句將執行一個內部的排序與合并,無論在那種情況下,[NOT] IN都是最低效的,因為他對子查詢中的表執行了一個全表遍歷。為了提高效率,我們可以把它改寫成外連接、NOT EXISTS 或者 EXISTS 子句。

③驅動表是指被最先訪問的表(通常以全表掃描的方式被訪問)。而一般緊隨FROM其后的表為驅動表,所以我們在表連接時要將有可用索引的表放在FROM后面,這樣可以提高查詢效率。

④創建主鍵和唯一索引的主要目的除了數據的完整性和一致性之外,還具有提高查詢速度的作用。

⑤對于只從總行數中查詢2%~4%的表,可以考慮創建索引。下面是創建索引的基本原則:

(1)以查詢關鍵字為基礎,表中的行隨機排序。

(2)包含的列數相對比較少的表。

(3)表中的大多數查詢都包含相對簡單的WHRER從句。

(4)對于經常以查詢關鍵字為基礎的表,并且該表中的行遵從均勻分布。

(5)緩存命中率低,并且不需要操作系統權限。

⑥避免全表掃描大表,以下情況下Oracle就會使用全表掃描:

(1)所查詢的表沒有索引。

(2)需要返回所有的行。

(3)帶like并使用“%”這樣的語句就是全表掃描。

(4)對索引主列有條件限制,但使用了函數,則Oracle使用全表掃描。

(5)帶有is null、is non null 或!=等字句也導致全表掃描。





向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

双柏县| 南召县| 濮阳县| 石棉县| 南安市| 周宁县| 霍州市| 大城县| 忻城县| 陈巴尔虎旗| 依安县| 阳朔县| 大石桥市| 嵩明县| 黎城县| 区。| 海宁市| 兴安盟| 鸡东县| 上饶县| 龙州县| 西林县| 武冈市| 花莲市| 略阳县| 拜城县| 沈阳市| 鄂托克旗| 承德市| 应用必备| 晋中市| 赞皇县| 拉孜县| 罗田县| 句容市| 徐水县| 康定县| 南昌县| 永靖县| 新乡县| 达日县|