為避免全域性掃瞄,跨資料庫時,盡量派生子表關聯;如示列有查詢資料1.8k左右,進行如下查詢:
方法一:
select a.times,a.aid,a.asn,a.pn,a.code,b.barcode from [10].test.dbo.tbl_a a
left join [20].test.dbo.tbl_b b on a.aid=b.bid
where a.code='11223344'
測試執行時間為30s左右(aid為索引列)
方法二:
;with cte as
(select times,aid,asn,pn,code from [10].test.dbo.tbl_a
where code='11223344')
,cte2 as
(select b.bid,b.barcode from [20].test.dbo.tbl_b b
where exists(select aid from [10].test.dbo.tbl_a a where b.bid=a.aid and a.code='11223344'
) select a.*,b.barcode from cte a,cte2 b
where a.aid=b.bid
測試執行方法二時間0.5s左右
sql優化,資料庫優化
1.sql的執行順序 from 表名 where 條件 執行順序是從後往前,where條件後面的語句盡可能縮短where 資料執行的範圍。先group by 後order by select 查詢 2.避免過多的聯查,設計合理的表關係 3.遵守常見sql規範,盡可能減少 4.如果表字段過多,經常展示...
sql優化 資料庫優化
資料庫優化 資料庫優化吧我覺應該從硬碟 記憶體和網路頻寬考慮,提高硬碟的讀寫速度,增大頻寬提高吞吐量,增大伺服器記憶體,可以採用讀寫分離,降低單台資料庫的訪問壓力,查詢的時候控制資料量的大小,返回更少資料,減少互動次數,減少cpu及記憶體的開銷,sql優化 如果乙個表中資料量過大我們可以採用橫切割,...
資料庫優化 SQL優化
前面一篇文章從例項的角度進行資料庫優化,通過配置一些引數讓資料庫效能達到最優。但是一些 不好 的sql也會導致資料庫查詢變慢,影響業務流程。本文從sql角度進行資料庫優化,提公升sql執行效率。判斷sql是否有問題時可以通過兩個表象進行判斷 可以使用sar命令,top命令檢視當前系統狀態。也可以通過...