您現在的位置是:電腦技術吧?>? 組裝維修 ??>??機票查詢,數據庫查詢方法有哪些??>??正文詳情

機票查詢,數據庫查詢方法有哪些

念水彤2019-12-19 14:02:59 人圍觀
簡介如何提高數據庫查詢速度一。where子句中的連接順序:Oracle使用自下而上的順序來解析where子句。根據這一原理,表之間的連接必須在其他條件之前寫入,并且能夠過濾出最大記錄數的數

1.WHERE子句中的連接順序:ORACLE采用自下而上的順序解析WHERE子句,根據這個原理,表之間的連接必須寫在其他WHERE條件之前, 那些可以過濾掉最大數量記錄的條件必須寫在WHERE子句的末尾. 2.SELECT子句中避免使用 *:ORACLE在解析的過程中, 會將'*' 依次轉  1. WHERE子句中的連接順序:ORACLE采用自下而上的順序解析WHERE子句,根據這個原理,表之間的連接必須寫在其他WHERE條件之前, 那些可以過濾掉最大數量記錄的條件必須寫在WHERE子句的末尾.  2. SELECT子句中避免使用 *:ORACLE在解析的過程中, 會將'*' 依次轉換成所有的列名, 這個工作是通過查詢數據字典完成的, 這意味著將耗費更多的時間  3. 使用DECODE函數來減少處理時間:使用DECODE函數可以避免重復掃描相同記錄或重復連接相同的表.  4. 用TRUNCATE替代DELETE:當刪除表中的記錄時,在通常情況下, 回滾段(ROLLBACK SEGMENTS ) 用來存放可以被恢復的信息. 如果你沒有COMMIT事務,ORACLE會將數據恢復到刪除之前的狀態(準確地說是恢復到執行刪除命令之前的狀況) 而當運用TRUNCATE時, 回滾段不再存放任何可被恢復的信息.當命令運行后,數據不能被恢復.因此很少的資源被調用,執行時間也會很短. (譯者按: TRUNCATE只在刪除全表適用,TRUNCATE是DDL不是DML)  5. 盡量多使用COMMIT:只要有可能,在程序中盡量多使用COMMIT, 這樣程序的性能得到提高,需求也會因為COMMIT所釋放的資源而減少:  COMMIT所釋放的資源:   回滾段上用于恢復數據的信息.   被程序語句獲得的鎖   REDO LOG BUFFER 中的空間   ORACLE為管理上述3種資源中的內部花費  6. 使用表的別名(ALIAS):當在SQL語句中連接多個表時, 請使用表的別名并把別名前綴于每個COLUMN上.這樣一來,就可以減少解析的時間并減少那些由COLUMN歧義引起的語法錯誤.  7. 用EXISTS替代IN、用NOT EXISTS替代NOT IN:在許多基于基礎表的查詢中,為了滿足一個條件,往往需要對另一個表進行聯接.在這種情況下, 使用EXISTS(或NOT EXISTS)通常將提高查詢的效率. 在子查詢中,NOT IN子句將執行一個內部的排序和合并. 無論在哪種情況下,NOT IN都是最低效的 (因為它對子查詢中的表執行了一個全表遍歷). 為了避免使用NOT IN ,我們可以把它改寫成外連接(OUTER JOINS)或NOT EXISTS.  例子:  高效:  SELECT * FROM EMP (基礎表) WHERE EMPNO 0 AND EXISTS (SELECT X' FROM DEPT WHERE DEPT.DEPTNO = EMP.DEPTNO AND LOC = MELB')  低效:  SELECT * FROM EMP (基礎表) WHERE EMPNO 0 AND DEPTNO IN(SELECT DEPTNO FROM DEPT WHERE LOC = MELB')  8. 用EXISTS替換DISTINCT:當提交一個包含一對多表信息(比如部門表和雇員表)的查詢時,避免在SELECT子句中使用DISTINCT. 一般可以考慮用EXIST替換, EXISTS 使查詢更為迅速,因為RDBMS核心模塊將在子查詢的條件一旦滿足后,立刻返回結果。

  例子:  低效:  SELECT DISTINCT DEPT_NO,DEPT_NAME FROM DEPT D , EMP E  WHERE D.DEPT_NO = E.DEPT_NO  高效:  SELECT DEPT_NO,DEPT_NAME FROM DEPT D WHERE EXISTS ( SELECT X'  FROM EMP E WHERE E.DEPT_NO = D.DEPT_NO);  9. SQL語句用大寫的;因為ORACLE總是先解析SQL語句,把小寫的字母轉換成大寫的再執行;  10. 用WHERE替代ORDER BY:   ORDER BY 子句只在兩種嚴格的條件下使用索引.   ORDER BY中所有的列必須包含在相同的索引中并保持在索引中的排列順序.   ORDER BY中所有的列必須定義為非空.  例如:  表DEPT包含以下列:  DEPT_CODE PK NOT NULL  DEPT_DESC NOT NULL  DEPT_TYPE NULL  低效: (索引不被使用)  SELECT DEPT_CODE FROM DEPT ORDER BY DEPT_TYPE  高效: (使用索引)  SELECT DEPT_CODE FROM DEPT WHERE DEPT_TYPE 0  11. 優化GROUP BY:  提高GROUP BY 語句的效率, 可以通過將不需要的記錄在GROUP BY 之前過濾掉.下面兩個查詢返回相同結果但第二個明顯就快了許多.  低效:  SELECT JOB , AVG(SAL)  FROM EMP  GROUP JOB  HAVING JOB = PRESIDENT'  OR JOB = MANAGER'  高效:  SELECT JOB , AVG(SAL)  FROM EMP  WHERE JOB = PRESIDENT'  OR JOB = MANAGER'  GROUP JOB

版權聲明:本文由 念水彤 整理編輯。

原標題:數據庫查詢方式有哪些,技巧快速查詢

轉載注明出處:http://www.dn9ww09s.icu/assemble/15560.html

文章評論

    共有條評論來說兩句吧...

    用戶名:

    驗證碼:

作者推薦

  • ios信號量,iOS socket

    ios信號量,iOS socket 相關圖片基于信號量同步的雙緩沖區為了解決這個問題,我提出了兩個解決方案:第一個是在執行操作之前確定操作是否已經初始化。如果尚未初始化,則使用數組隊列存儲操作參數和調用的方...

  • hello the world,helloworld是什么

    hello the world,helloworld是什么 相關圖片hello world是什么意思本文主要介紹react JS的HelloWorld編程及其相關知識。React是一個由Facebook開發的開源JS框架。它的受歡迎程度目前正在飆升。您可以參考hello world是什么意...

  • 用戶IP地址,IP地址范圍

    用戶IP地址,IP地址范圍 相關圖片IP地址的分類在asp.net環境中獲取用戶IP的公共類。在許多情況下,我們需要記錄訪問者的IP地址。此類可以使用system.web.httpcontext.currentIP地址格式...

  • 自定義標簽在哪,自定義標簽是什么意思

    自定義標簽在哪,自定義標簽是什么意思 相關圖片自定義個性標簽大全一般來說,要開發JSP自定義標記,我們需要參考以下兩個包:import javax。Servlet。JSP。標簽文本。*. 首先,我們需要對開發自定義標記所涉及qq自定義標簽高冷...

  • 安全隱患措施有哪些,身邊的安全隱患及措施

    安全隱患措施有哪些,身邊的安全隱患及措施 相關圖片避免安全隱患隨著Internet的發展,web技術日新月異。ASP(active server pages)作為繼通用網關接口(CGI)之后的一種典型的服務器端Web設計技我身邊的安全隱患及改正措施...

  • 安裝軟件說端口號被占用解決方法,解決端口占用

    安裝軟件說端口號被占用解決方法,解決端口占用 相關圖片8080端口號被占用本文主要介紹Android開發中端口號占用問題的解決方案。本文給出了一種簡單實用的方法來解決這個煩人的問題。你可以參考Android開發中的端口號占用問題,這個查看8...

  • navicat怎么連接mysql,navicat連接不上mysql

    navicat怎么連接mysql,navicat連接不上mysql 相關圖片mysql navicat最新版本的Navicat for MySQL有自己的注冊代碼。它已經被綠化了。您可以通過將其解壓縮到任何目錄來運行它。Navicat premium是一個多連接navicat連接mysql...

  • 如何建立空數據庫,怎么創建空數據庫

    如何建立空數據庫,怎么創建空數據庫 相關圖片建立空數據庫的快捷鍵現在我們知道了在構建數據庫之前應該注意的問題,讓我們從最基本的新空數據庫開始了解access數據庫的結構。在access 2000中,單擊access窗口左上角怎么新建空數據...

  • 如何建立空數據庫,怎么創建空數據庫

    如何建立空數據庫,怎么創建空數據庫 相關圖片建立空數據庫的快捷鍵怎么新建空數據庫...

  • html字符串轉化為,讓字符串轉成html

    html字符串轉化為,讓字符串轉成html 相關圖片js解析html字符串本文主要介紹了JavaScript檢測字符串中是否包含HTML標記的實現方法。本文直接給出了實現代碼。對于您的朋友,請參考下面的函數代碼:/**HTML標記是否js字符串轉html標簽...

熱評文章

  • 有特點的自我介紹,自我介紹特點

    有特點的自我介紹,自我介紹特點 相關圖片自我介紹優點不能在宏條件列中使用SQL表達式。一般來說,直接運行宏只是一個測試。在確保宏設計正確后,可以將宏附加到窗體、報表或控件以響應事件,或創建自定義菜單命令以運...

  • android添加菜單,菜單選擇切換android

    android添加菜單,菜單選擇切換android 相關圖片androidmenu菜單樣式本文介紹了Android的三個菜單。與您分享以供參考。具體分析如下:Android的菜單分為三種類型:選項菜單、上下文菜單和子菜單。一。選項菜單應用程序安卓上滑菜單...

  • 編輯啟動選項,電腦高級啟動選項

    編輯啟動選項,電腦高級啟動選項 相關圖片win10進入高級啟動模式大多數服務器管理員知道MySQL數據庫管理系統(RDBMS)是一個高度靈活的軟件塊,具有廣泛的啟動選項,可以用來修改相關的行為。然而,大多數人并不知道標準的...

  • java多線程編程注意事項,多線程注意事項

    java多線程編程注意事項,多線程注意事項 相關圖片java多線程編程培訓機構本文主要介紹了C 中MFC多線程編程注意事項的相關信息。您可以參考多線程編程中最簡單的方法,即使用afxbeginthread創建工作線程。看看這個函數的描述c多線程編...

  • php比較大小,php三個數比較大小

    php比較大小,php三個數比較大小 相關圖片php數組值比較大小本文給出了一個例子來說明PHP如何計算整個目錄的大小。與您分享以供參考。具體實現方法如下:?1234567891012131415161718192021222php字體大小...

  • 蓋格計數器,蓋革計數器原理

    蓋格計數器,蓋革計數器原理 相關圖片手持計數器下面介紹如何用數據庫實現簡單計數器。另存為計數。ASP<%set conn=服務器。創建對象(ADODB。連接)conn.open driver={Micros程序計數器...

  • eth0基本配置,電腦基本配置有哪些

    eth0基本配置,電腦基本配置有哪些 相關圖片主機基本配置一。為結構應用程序配置web.xml文件步驟1:配置ActionServletServletServletnameAction/ServletnameServl汽車基本配置...

  • 什么是開源項目,如何加入開源項目

    什么是開源項目,如何加入開源項目 相關圖片go 開源項目一。在許多IOS開源項目中,afnetworking是最受開發人員歡迎的庫項目。Afnetworking是一個輕量級的IOS和Mac OSX網絡通信類庫。現在它php開源項目...

  • 安卓彈出消息框,如何設置手機qq不彈出

    安卓彈出消息框,如何設置手機qq不彈出 相關圖片怎么讓qq不彈出消息框我想這個問題經常被問到。實際上,這不是一個難題。我自己整理了索引,方便新手參考。在ASP彈出消息對話框中,確認對話框引用。彈出消息框的最簡單方法是在...

  • 查找數組元素的位置,數組查找某個元素

    查找數組元素的位置,數組查找某個元素 相關圖片在順序表中查找元素本文主要介紹了在JavaScript中添加、查找和刪除元素的方法,該方法簡單實用。如果需要的話你可以參考一下。代碼很簡單,這里沒有太多的廢話。?12345678selenium定位...

關注微信

变脸官网查询