千鋒教育-做有情懷、有良心、有品質(zhì)的職業(yè)教育機(jī)構(gòu)
存儲(chǔ)過(guò)程是一組為了完成特定功能的SQL語(yǔ)句集,存儲(chǔ)在數(shù)據(jù)庫(kù)中,經(jīng)過(guò)次編譯后再次調(diào)用不需要再次編譯,用戶通過(guò)指定存儲(chǔ)過(guò)程的名字并給出參數(shù)(如果該存儲(chǔ)過(guò)程帶有參數(shù))來(lái)執(zhí)行它。存儲(chǔ)過(guò)程是數(shù)據(jù)庫(kù)中的一個(gè)重要對(duì)象。
存儲(chǔ)過(guò)程優(yōu)化思路:
1. 盡量利用一些 sql 語(yǔ)句來(lái)替代一些小循環(huán),例如聚合函數(shù),求平均函數(shù)等。
2. 中間結(jié)果存放于臨時(shí)表,加索引。
3. 少使用游標(biāo)。sql是個(gè)集合語(yǔ)言,對(duì)于集合運(yùn)算具有較高性能。而cursors是過(guò)程運(yùn)算。比如對(duì)一個(gè)100萬(wàn)行的數(shù)據(jù)進(jìn)行查詢。游標(biāo)需要讀表100萬(wàn)次,而不使用游標(biāo)則只需要少量幾次讀取。
4. 事務(wù)越短越好。sqlserver 支持并發(fā)操作。如果事務(wù)過(guò)多過(guò)長(zhǎng),或者隔離級(jí)別過(guò)高,都會(huì)造成并發(fā)操作的阻塞,死鎖。導(dǎo)致查詢極慢,cpu 占用率極地。
5. 使用 try-catch 處理錯(cuò)誤異常。
6. 查找語(yǔ)句盡量不要放在循環(huán)內(nèi)。
920人已學(xué)習(xí)
項(xiàng)目
940人已學(xué)習(xí)
項(xiàng)目
936人已學(xué)習(xí)
高級(jí)
930人已學(xué)習(xí)
項(xiàng)目
923人已學(xué)習(xí)
入門
1002人已學(xué)習(xí)
項(xiàng)目
相關(guān)推薦