<form id="hz9zz"></form>
  • <form id="hz9zz"></form>

      <nobr id="hz9zz"></nobr>

      <form id="hz9zz"></form>

    1. 明輝手游網中心:是一個免費提供流行視頻軟件教程、在線學習分享的學習平臺!

      詳細說明Oracle使用強制索引的方法與注意事項

      [摘要]本文主要給大家介紹了關于Oracle使用強制索引的方法與注意事項,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧。希望能幫助到大...
      本文主要給大家介紹了關于Oracle使用強制索引的方法與注意事項,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧。希望能幫助到大家。

      Oracle使用強制索引

      在一些場景下,可能ORACLE不會自動走索引,這時候,如果對業務清晰,可以嘗試使用強制索引,測試查詢語句的性能。

      以EMP表為例:

      先在EMP表中建立唯一索引,如圖。

      詳解Oracle使用強制索引的方法與注意事項

      普通搜索:

      SELECT * FROM EMP T

      查看執行計劃:

      詳解Oracle使用強制索引的方法與注意事項

      可以看到,是走的全表掃描。

      使用強制索引,在SELECT 后面加上/*.......*/ 中間加上索引的屬性,代碼如下:

      SELECT /*+index(t pk_emp)*/* FROM EMP T 
      
      --強制索引,/*.....*/第一個星星后不能有空格,里邊內容結構為:加號index(表名 空格 索引名)。
      --如果表用了別名,注釋里的表也要使用別名。

      詳解Oracle使用強制索引的方法與注意事項

      可以看到,這是走的是索引PK_EMP。

      Oracle使用強制索引注意事項

      最近對Oracle的SQL索引生效條件進行了驗證,發現如下規律,記錄如下:

      1、索引生效與記錄的條數相關

      a、2016-01-01~2016-11-30 數據量402518,索引生效

      b、2016-01-01~2016-12-30 數據量444844,索引不生效

      SELECT 
       * 
      FROM 
       T_MAINS 
      WHERE 
       date > TO_DATE (--備注今天是2017-01-23 
        '2016-01-01', 
        'yyyy-mm-dd hh24:mi:ss' 
       ) 
      AND date < TO_DATE ( 
       '2016-11-30', 
       'yyyy-mm-dd hh24:mi:ss' 
      );

      2、T_MAINS已根據某個時間類型的字段進行分區,查詢條件中如果能夠精準定位到某個分區,可以提高SQL的執行效率

      相關推薦:

      mysql與oracle數據庫停止與啟動的批處理文件

      如何向MySQL數據庫或者Oracle或導入表格文件

      oracle 用HINT方式強制索引

      以上就是詳解Oracle使用強制索引的方法與注意事項的詳細內容,更多請關注php中文網其它相關文章!


      學習教程快速掌握從入門到精通的SQL知識。




      日韩精品一区二区三区高清