sybase sql執行慢,如何調優

2021-10-03 06:14:54 字數 1282 閱讀 7445

1、執行下述**,檢視當前程序執行內容

dbcc traceon(3604)

dbcc sqltext(spid) --spid 程序號

2、執行下述**,檢視當前程序執行計畫(索引引用情況)

sp_showplan spid --spid 程序號

3、若不在程序佇列中,執行下述**,檢視當前sql段的執行計畫(索引引用情況)

set nocount on

set showplan on

set noexec on

go具體**

goset nocount off

set showplan off

set noexec off

go4、執行計畫顯示索引使用不合理導致全表掃瞄、索引已引用但失效等情況,從以下方面入手:

4.1、若索引失效,執行下述**,重建索引

reorg rebuild 表名 索引名 --某索引

reorg rebuild 表名 --全表索引

4.2、若索引失效,執行表分析

delete statistics 表名

goupdate statistics 表名

goupdate index statistics 表名

go4.3、索引使用不合理導致全表掃瞄,需調整索引

1、在where條件進行表關聯的字段上加索引(關聯欄位的資料型別保持一致)

2、where條件=左邊最好不要用函式,放在=右邊進行處理(考慮是否引用函式索引)

3、引用復合索引(a,b,c),最好將條件順序按找索引的順序

4、模糊匹配,後通配走索引,其他情況走全表掃瞄

5、避免在字段值單一的字段上加索引

6、避免在字段值過長的字段(如文字字段)上索引

…等等4.4、sql語句不規範導致執行慢,需調整**

1、多個大表關聯查詢,可以將部分表進行關聯,將結果放到臨時表,再用臨時表關聯其他表得出結果,注意臨時表是否加索引

2、盡量少用子查詢

3、盡量用exists、not exists代替in、not in

…等等5、從其他方面入手

1、由於系統資源緊張導致,需調整各過程執行時間

2、考慮調整快取頁大小

3、考慮增加物理裝置資源

…等等

mysql 調優 (慢查詢,執行計畫和索引)

在程式中難免會遇到查詢很慢,有時你知道你哪個sql,有時 你可能呼叫其他的api不知道sql,那麼你可以用mysql 的慢查詢 再結合 explain 的執行計畫,看看sql有沒有走索引再優化。1,mysql 慢查詢預設是不支援,可以在mysql 客戶端 show variables like sl...

mysql如何定位並調優慢sql查詢

1.定位,根據sql慢日誌定位查詢慢sql.show variables like quer 重點關注一下三個查詢結果 show query log off on 是否展示慢日誌 slow query log file 慢日誌存放路徑 long query time 定義為慢查詢的時間 show s...

如何寫sybase sql指令碼檔案 如何寫好指令碼?

好的指令碼當然要有好的開場白 好的開題 破題 話題引入,好的敘述與分析 好的結束語。好的指令碼還應有好的輔助說明的素材,700 800字的指令碼,對應的素材數量如下 非真人出鏡者 素材數量需要翻倍,最好找到超過20個素材。寫好指令碼還應注意以幾點 一 開門見山 快速切入主題,這樣的話就更容易讓觀眾對...