校园春色亚洲色图_亚洲视频分类_中文字幕精品一区二区精品_麻豆一区区三区四区产品精品蜜桃

主頁 > 知識庫 > oracle select執行順序的詳解

oracle select執行順序的詳解

熱門標簽:word地圖標注方向 美圖秀秀地圖標注 征服者火車站地圖標注 開封智能外呼系統廠家 阿爾巴尼亞地圖標注app 百度地圖標注素材 征服眼公司地圖標注 人工智能地圖標注自己能做嗎 外呼線路外顯本地號碼
SQL Select語句完整的執行順序:
1、from子句組裝來自不同數據源的數據;
2、where子句基于指定的條件對記錄行進行篩選;
3、group by子句將數據劃分為多個分組;
4、使用聚集函數進行計算;
5、使用having子句篩選分組;
6、計算所有的表達式;
7、使用order by對結果集進行排序。

oracle 語句提高查詢效率的方法
1:.. where column in(select * from ... where ...);
2:... where exists (select 'X' from ...where ...);
第二種格式要遠比第一種格式的效率高。在Oracle中可以幾乎將所有的IN操作符子查詢改寫為使用EXISTS的子查詢
使用EXISTS,Oracle系統會首先檢查主查詢,然后運行子查詢直到它找到第一個匹配項,這就節省了時間
Oracle系統在執行IN子查詢時,首先執行子查詢,并將獲得的結果列表存放在在一個加了索引的臨時表中

選擇最有效率的表名順序(只在基于規則的優化器中有效)
ORACLE的解析器按照從右到左的順序處理FROM子句中的表名,因此FROM子句中寫在最后的表(基礎表 driving table)將被最先處理。在FROM子句中包含多個表的情況下,你必須選擇記錄條數最少的表作為基礎表。當ORACLE處理多個表時,會運用排序及合并的方式連接它們。首先,掃描第一個表(FROM子句中最后的那個表)并對記錄進行派序,然后掃描第二個表(FROM子句中最后第二個表),最后將所有從第二個表中檢索出的記錄與第一個表中合適記錄進行合并。
如果有3個以上的表連接查詢,那就需要選擇交叉表(intersection table)作為基礎表,交叉表是指那個被其他表所引用的表。

WHERE子句中的連接順序
ORACLE采用自下而上的順序解析WHERE子句,根據這個原理,表之間的連接必須寫在其他WHERE條件之前,那些可以過濾掉最大數量記錄的條件必須寫在WHERE子句的末尾。

標簽:孝感 海北 淮南 宜春 泰安 六安 酒泉 葫蘆島

巨人網絡通訊聲明:本文標題《oracle select執行順序的詳解》,本文關鍵詞  oracle,select,執行,順序,的,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《oracle select執行順序的詳解》相關的同類信息!
  • 本頁收集關于oracle select執行順序的詳解的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 永定县| 临夏县| 莱州市| 襄城县| 鸡东县| 昌宁县| 万安县| 酒泉市| 五寨县| 琼海市| 全州县| 沾益县| 依安县| 乳山市| 唐山市| 马公市| 阿拉善左旗| 绥化市| 武穴市| 延长县| 沽源县| 无锡市| 手机| 芦溪县| 常宁市| 苏尼特左旗| 马龙县| 隆昌县| 漳平市| 石景山区| 阳新县| 镇康县| 盐城市| 夹江县| 安丘市| 安福县| 都兰县| 清水县| 肇东市| 云和县| 永平县|