醫院數據庫系統SQL語(yǔ)句優(yōu)化分析
在醫院執行模塊的數據窗口SQL:
SELECT DISTINCT
ZY_BQYZ.ZYH,ZY_BRRY.BRCH,ZY_BRRY.ZYHM,ZY_BRRY.BRXM,ZY_BRRY.BRXZ
FROM ZY_BQYZ, ZY_BRRY
WHERE ( ZY_BQYZ.ZYH = ZY_BRRY.ZYH )
AND ( ZY_BRRY.CYPB = 0 )
AND ( ZY_BQYZ.SRKS = :al_hsql )
AND ( ZY_BQYZ.SYBZ = 0 )
AND ( ZY_BQYZ.LSBZ = 0 OR ZY_BQYZ.LSBZ = 2 )
AND ( ZY_BQYZ.QRSJ < :ad_today OR ( ZY_BQYZ.QRSJ IS NULL ) )
AND ( ZY_BQYZ.JFBZ = 2 OR ZY_BQYZ.JFBZ = 9 )
AND ( ZY_BQYZ.XMLX > 3 )
AND ( ZY_BQYZ.YZPB = 0 )
ORDER BY ZY_BRRY.BRCH
4小結
從以上這些例子可以看出,SQL優(yōu)化的實(shí)質(zhì)就是在結果正確的前提下,用優(yōu)化器可以識別的語(yǔ)句,充份利用索引,減少表掃描的1/O 次數,盡量避免表搜索的發(fā)生。其實(shí)SQL的性能優(yōu)化是一個(gè)復雜的過(guò)程,上述這些只是在SQL語(yǔ)句應用時(shí)的一種具體實(shí)例和平時(shí)應用中的總結??傊?,數據庫的性能優(yōu)化是一個(gè)系統工程,涉及的方面很多。數據庫管理員需要綜合運用多種方法,認真分析數據庫運行過(guò)程中出現的各種問(wèn)題,才能保證數據庫高效地運行。
評論