編寫高性能的SQL語句注意事項

中文字幕精品无码一区二区-黄色伊人-久久精品无码av-男女插插插视频-日韩bbw-永久影院-三级av免费-美国av导航-99成人在线观看-美腿丝袜一区-激情欧美在线观看

    1. <small id="ttxrl"></small>

    2. 獲得積分
      資料庫會員登錄
      搜索: [高級搜索]
      下載首頁 | 資源分類 | 下載排行
      您的位置: 首頁 > 信息化技術 > MSSQL
       
      分類導航
      下載排行
      最新資源
      編寫高性能的SQL語句注意事項
      資源大小:26.67 KB 資源類型:文檔
      下載積分: 0
      更多
      -->
      下載統計:總下載:0,本月下載:0,本周下載:0,今日下載:0
      發表評論 錯誤報告 加入收藏夾
      資源介紹
      編寫高性能的SQL語句注意事項
              前言
      在應用系統開發初期,由于開發數據庫數據比較少,對于查詢SQL語句,復雜視圖的的編寫等體會不出SQL語句各種寫法的性能優劣,但是如果將應 用系統提交實際應用后,隨著數據庫中數據的增加,系統的響應速度就成為目前系統需要解決的最主要的問題之一。系統優化中一個很重要的方面就是SQL語句的 優化。對于海量數據,劣質SQL語句和優質SQL語句之間的速度差別可以達到上百倍,可見對于一個系統不是簡單地能實現其功能就可,而是要寫出高質量SQL語句,提高系統的可用性。
      在多數情況下,數據庫使用索引來更快地遍歷表,優化器主要根據定義的索引來提高性能。但是,如 果在SQL語句的where子句中寫的SQL代碼不合理,就會造成優化器刪去索引而使用全表掃描,一般就這種SQL語句就是所謂的劣質SQL語句。在編寫 SQL語句時我們應清楚優化器根據何種原則來刪除索引,這有助于寫出高性能的SQL語句。
              索引有哪些種類?
      常見的索引有B-TREE索引、位圖索引、全文索引。
      B-TREE索引也稱為平衡樹索引(Balance Tree),它是一種按字段排好序的樹形目錄結構,主要用于提升查詢性能和唯一約束支持;B-TREE索引包括很多擴展類型,如組合索引、反向索引、函數索引等等;B-TREE索引的內容包括根節點、分支節點、葉子節點。
      位圖索引一般用于數據倉庫應用。
      一個表中可以建多個索引,就如一本字典可以建多個目錄一樣(按拼音、筆劃、部首等等)。
      一個索引也可以由多個字段組成,稱為組合索引,如上圖就是一個按部首+筆劃的組合目錄。
              SQL語句中,什么條件會使用索引?
      當字段上建有索引時,通常以下情況會使用索引:
      INDEX_COLUMN = ? (或者>、>=、<、<=)
      INDEX_COLUMN between ? and ?
      INDEX_COLUMN IN (?,?,...,?)
      INDEX_COLUMN like ?||'%'(后導模糊查詢)
      T1. INDEX_COLUMN=T2. COLUMN1(兩個表通過索引字段關聯)
              SQL語句中,什么條件不會使用索引?
      查詢條件        不能使用索引原因
      INDEX_COLUMN <> ?
      INDEX_COLUMN not in (?,?,...,?)        不等于操作不能使用索引
      function(INDEX_COLUMN) = ?
      INDEX_COLUMN + 1 = ?
      INDEX_COLUMN || 'a' = ?        經過普通運算或函數運算后的索引字段不能使用索引,但是經過函數運算字段的字段要使用可以使用函數索引
      INDEX_COLUMN like '%'||?
      INDEX_COLUMN like '%'||?||'%'        含前導模糊查詢的Like語法不能使用索引
      INDEX_COLUMN is null        B-TREE索引里不保存字段為NULL值記錄,因此IS NULL不能使用索引
      NUMBER_INDEX_COLUMN='12345'
      CHAR_INDEX_COLUMN=12345        在做數值比較時需要將兩邊的數據轉換成同一種數據類型,如果兩邊數據類型不同時會對字段值隱式轉換,相當于加了一層函數處理,所以不能使用索引。
      a.INDEX_COLUMN=a.COLUMN_1        給索引查詢的值應是已知數據,不能是未知字段值。
      注意:有時候我們會使用多個字段的組合索引,如果查詢條件中第一個字段不能使用索引,那整個查詢也不能使用索引。
      下載地址
       下載地址1
      按字母檢索

      下載須知:
      大部份資源無需注冊即可下載
      需要積分的資源要在會員中心注冊會員并用 積分體系中提示的方法賺取積分才能下載。

      免責聲明:
      所有資源只能用于參考學習,不能用于任何商業用途,否則后果自負!
      主站蜘蛛池模板: 和静县| 响水县| 社旗县| 甘洛县| 漠河县| 二连浩特市| 三原县| 会同县| 龙海市| 崇信县| 彰化市| 台安县| 乌拉特前旗| 黄浦区| 福鼎市| 哈巴河县| 灌云县| 元江| 财经| 水城县| 基隆市| 砀山县| 盐城市| 仁化县| 景德镇市| 凤山市| 密山市| 南郑县| 武清区| 武邑县| 宜昌市| 双桥区| 通河县| 当涂县| 抚远县| 通城县| 焦作市| 云梦县| 青海省| 玉林市| 福州市|