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

      SQL語句優(yōu)化方法詳細介紹

      時間:2024-08-30 21:43:22 SQL 我要投稿
      • 相關(guān)推薦

      SQL語句優(yōu)化方法詳細介紹

        1. 選擇最有效率的表名順序, FROM子句中寫在最后的表(基礎(chǔ)表 driving table)將被最先處理,在FROM子句中包含多個表的情況下,你必須選擇記錄條數(shù)最少的表作為基礎(chǔ)表.汗顏!!以前以為dimensional table,都是多條記錄呢,怪不得以前寫的查詢速度這么慢。

        2.Where子句中的連接順序.:

        數(shù)據(jù)庫采用自下而上的順序解析Where子句,根據(jù)這個原理,表之間的連接必須寫在其他Where條件之前, 那些可以過濾掉最大數(shù)量記錄的條件必須寫在Where子句的末尾.HAVING最后。這個貌似一直這么寫的,不過那是在SQLSERVER里面的,前面都是用的JOIN

        3.整合簡單,無關(guān)聯(lián)的數(shù)據(jù)庫訪問:

        如果你有幾個簡單的數(shù)據(jù)庫查詢語句,你可以把它們整合到一個查詢中(即使它們之間沒有關(guān)系),這個我沒有體會,貌似都是按照業(yè)務(wù)邏輯把它們分成了一小塊一小塊的呢

        4.盡量縮小子查詢的結(jié)果。

        5.用EXISTS替代IN、用NOT EXISTS替代NOT IN。貌似我做項目的時候只在少數(shù)基于條件的表連接才會用EXISTS,基本不用IN 和NOT IN。

        6.避免在索引列上使用計算.

        Where子句中,如果索引列是函數(shù)的一部分.優(yōu)化器將不使用索引而使用全表掃描. 7,用>=替代> 這個我也不是特別明白,>是IS NOT?

        8,用UNION替換OR (適用于索引列)

        通常情況下, 用UNION替換Where子句中的OR將會起到較好的效果. 對索引列使用OR將造成全表掃描. 注意, 以上規(guī)則只針對多個索引列有效. 如果有column沒有被索引, 查詢效率可能會因為你沒有選擇OR而降低. 在下面的例子中, LOC_ID 和REGION上都建有索引.這個在項目中我是有遇到過的,我寫了個臨時表的函數(shù),其他的SQL需要和臨時表連接起來,因為業(yè)務(wù)邏輯比較復(fù)雜,連接的時候速度很慢,后來把OR都改成了UNION ALL

        9,避免在索引列上使用IS NULL和IS NOT NULL

        10,避免改變索引列的類型

        11. 需要當心的Where子句:

        某些Select 語句中的Where子句不使用索引. 這里有一些例子.

        在下面的例子里, (1)‘!=' 將不使用索引. 記住, 索引只能告訴你什么存在于表中, 而不能告訴你什么不存在于表中. (2) ‘||'是字符連接函數(shù). 就象其他函數(shù)那樣, 停用了索引.

        (3) ‘+'是數(shù)學函數(shù). 就象其他數(shù)學函數(shù)那樣, 停用了索引. (4)相同的索引列不能互相比較,這將會啟用全表掃描.

        12. 優(yōu)化GROUP BY:提高GROUP BY 語句的效率, 可以通過將不需要的記錄在GROUP BY 之前過濾掉.

        13. 避免使用耗費資源的操作:

        帶有DISTINCT,UNION,MINUS,INTERSECT,ORDER BY的SQL語句會啟動SQL引擎

        執(zhí) 行耗費資源的排序(SORT)功能. DISTINCT需要一次排序操作, 而其他的至少需要執(zhí)行兩次排序. 通常, 帶有UNION, MINUS , INTERSECT的SQL語句都可以用其他方式重寫. 如果你的數(shù)據(jù)庫的SORT_AREA_SIZE調(diào)配得好, 使用UNION , MINUS, INTERSECT也是可以考慮的, 畢竟它們的可讀性很強

        .IN SSMS,If you want to see how much cpu time did one query consumed,you can use the following flow:

        SET STATISTICS IO ON

        set statistics time on

        execute your query

        set statistics time off

        and after this you have to look messages window not results window

      【SQL語句優(yōu)化方法詳細介紹】相關(guān)文章:

      SQL優(yōu)化大全09-09

      oracle的sql語句01-21

      SQL查詢語句大全10-24

      SQL語句的理解原則10-05

      mysql SQL語句積累參考10-02

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

      2016最新J2EE中SQL語句自動構(gòu)造方法08-02

      詳細介紹totolin路由器的設(shè)置方法10-19

      用SQLSERVER查詢正在實行的SQL的方法08-31

      Sql Server、Access數(shù)據(jù)排名的實現(xiàn)方法07-09

      主站蜘蛛池模板: 桐乡市| 蜜桃av午夜福利一区二区三区 | 色琪琪一区二区三区亚洲区| 日韩精品一区二区三区中文9| 中国免费一级毛片| 汝州市| 曰韩久久精品中文字幕 | 亚洲AV无码一区二区三区精神| 男女性搞视频网站免费| 欧美激情国产亚州一区二区| www.久久av.com| 新余市| 新建县| 元氏县| 鄂伦春自治旗| 行唐县| 凤台县| 济源市| 东宁县| SHOW| 无码熟妇人妻AV不卡| 东乡县| 久久久久综合一本久道| 亚洲国产成人精品毛片九色| 看黄色亚洲看黄色亚洲| 莱州市| 正蓝旗| 亚洲精品一区网站在线观看 | 日韩精品欧美激情国产一区| 成人影院视频免费观看| 久久精品国产亚洲av麻豆九月| 无码中文字幕av免费放| 亚洲av日韩片在线观看| 亚洲啊啊啊一区二区三区| 亚洲av熟女一区二区三区四区| 国产成人福利av一区二区三区| 少妇被日到高潮的视频| 亚洲视频在线观看青青草| 麻豆激情在线免费观看视频| 久久91精品国产91久久麻豆| 欧洲乱码伦视频免费|