中文字幕在线一区二区在线,久久久精品免费观看国产,无码日日模日日碰夜夜爽,天堂av在线最新版在线,日韩美精品无码一本二本三本,麻豆精品三级国产国语,精品无码AⅤ片,国产区在线观看视频

      SQL語句編寫與優化規范

      時間:2024-09-23 19:55:26 SQL 我要投稿
      • 相關推薦

      SQL語句編寫與優化規范

        1 用SELECT查詢用具體字段代替“*”,且盡可能只查詢需要的字段。

        2 多表查詢時,使用表的別名,就可以減少解析的時間并減少那些由列名歧義引起的語法錯誤

        3 用EXISTS替代IN,用NOT EXISTS替代NOT IN

        4 WHERE條件連接順序,把表關系寫在最前

        例如Oracle采用自下而上的順序解析WHERE子句,表之間的條件連接必須寫在其他條件之前,把可以過濾掉大量數據的條件寫在WHERE子句的最后,按照過濾記錄數量的多少

        5 刪除全表時,用TRUNCATE替代DELETE

        當刪除表中的記錄時,在通常情況下, 回滾段(rollback segments ) 用來存放可以被恢復的信息. 如果你沒有COMMIT事務,ORACLE會將數據恢復到刪除之前的狀態(準確地說是恢復到執行刪除命令之前的狀況) 而當運用TRUNCATE時, 回滾段不再存放任何可被恢復的信息.

        當命令運行后,數據不能被恢復.因此很少的資源被調用,執行時間也會很短。但只有在刪除全.表數據時才這樣使用。 ...

        6 盡可能多的使用commit

        對于執行,update,語句時盡量多commit,因為系統性能會因commit釋放的資源而大大提高。注意事務的處理,因為commit的數據是不允許回滾的。

        7 優化GROUP BY

        為提高GROUP BY的效率,可以將不需要的數據在GROUP BY之前過濾掉,減少由于數據量大而帶來的性能損耗。同時避免使用HAVING子句,HAVING只會在檢索出所有記錄之后才對結果集進行過濾,這個處理需要排序、統計等操作。如果能通過WHERE子句限制記

        8 ORDER BY字段需建立索引

        ORDER BY語句以找出非索引項或者表達式,它們會降低性能。解決這個問題的辦法就是重寫ORDER BY語句以使用索引,也可以為所使用的列建立另外一個索引,同時應絕對避免在order by子句中使用表達式。

        9 有條件的使用union-all 替代union

        這樣做效率會提高3到5倍。

        10 IS NULL 與 IS NOT NULL(索引失效)

        不能用null作索引,任何包含null值的列都將不會被包含在索引中。即使索引有多列這樣的情況下,只要這些列中有一列含有null,該列就會從索引中排除。也就是說如果某列存在空值,即使對該列建索引也不會提高性能。

        任何在where子句中使用is null或is not null的語句優化器是不允許使用索引的。

        11 對于有聯接的列,即使最后的聯接值為一個靜態值,優化器是不會使用索引的。(索引失效)

        12 避免使用帶通配符的LIKE查詢(索引失效)

        之前我認為只要含有“%”的LIKE查詢索引就會失效,經過網絡資料查詢,說只有“%”13 注意or條件查詢,兩邊條件必須均建立索引才會生效(索引失效)

        14 避免在索引列上使用函數或計算,如果索引是函數的一部分,則優化器不會使用索引。(索引失效)

        15 避免使用not、!=、<>(索引失效)

        索引只能告訴什么存在于表中,不能告訴我們什么不存在,當數據庫遇到not、!=、<>時,索引會失效而去進行全表掃描。用“>=”代替“>”

        總結

        原則上,應該盡可能的減少與數據庫的交互,但不意味著要寫一個龐大復雜的SQL來獲取所有需要的數據。對于復雜或訪問量頻繁的功能,可以考慮借助緩存來提升性能。對于表數據量過于龐大而且持續增長,考慮歸檔歷史,分開查詢;如果仍然無法提升性能,則可以從增加硬件來改善,如讀寫分離、數據庫集群等方案。

        在拼寫SQL時,盡可能的將SQL拆解為簡單易讀的SQL,對于復雜邏輯可以借助程序來協同完成,一方面執行效率不一定低,另一方面也給未來的運維、修改帶來便捷。如果設計原因導致關聯表略多,考慮視圖、拆解、輔助表的方式來簡化查詢,降低SQL復雜度,減少表關聯查詢的數量(少于5表),且盡可能少用子查詢,視圖嵌套不要超過2層。

        

      【SQL語句編寫與優化規范】相關文章:

      SQL優化大全09-09

      oracle的sql語句01-21

      SQL查詢語句大全10-24

      SQL語句的理解原則10-05

      mysql SQL語句積累參考10-02

      sql語句的各種模糊查詢08-25

      Oracle的sql語句模擬試題及答案10-12

      SQL語句中的正則表達示07-28

      J2EE項目代碼編寫規范01-23

      2016最新J2EE中SQL語句自動構造方法08-02

      主站蜘蛛池模板: 每日手机在线观看av| 昌乐县| 国产一区二区三区成视频| 枝江市| 日本中出熟女一区二区| 白白视频在线免费观看| 草莓视频中文字幕人妻系列| 亚洲蜜芽在线精品一区| 久久久国产精品ⅤA麻豆百度 | 女同av在线观看网站| 亚洲av粉色一区二区三区 | 亚洲国产成人精品激情资源9| 日本精品免费一区二区三区| 国产成年无码久久久久下载| 日本免费一区在线播放| 超清中文乱码字幕在线| 91久久精品国产性色tv| 一本大道久久精品一本大道久久| 永泰县| 合川市| 莱州市| 新干县| 潞城市| 亚洲区福利视频免费看| 通辽市| 国产精品亚洲综合一区| 海门市| 丹东市| 精品黄色av一区二区三区| 五月婷婷激情六月开心| 一本久久精品久久综合桃色 | 日本蜜桃视频在线观看| 漂亮的小少妇诱惑内射系列| 成人免费视频自偷自拍| 谁有在线观看av中文| 亚洲每天色在线观看视频 | 中文字幕一区二区三区人妻精品| 玖玖玖亚洲一区二区三区| 99精品国产第一福利网站| 一二三三免费观看视频| 亚洲xx视频|