數(shù)據(jù)庫(kù)調(diào)優(yōu)積累系列(3):游標(biāo)
導(dǎo)讀:在數(shù)據(jù)庫(kù)中,游標(biāo)是一個(gè)十分重要的概念。游標(biāo)提供了一種對(duì)從表中檢索出的數(shù)據(jù)進(jìn)行操作的靈活手段,就本質(zhì)而言,游標(biāo)實(shí)際上是一種能從包括多條數(shù)據(jù)記錄的結(jié)果集中每次提取一條記錄的機(jī)制。
1、盡量少用游標(biāo),如果不得不用,那就要看是否可以對(duì)邏輯進(jìn)行整合,分出不同的情況,讓在一部分情況是使用insert select的方式來(lái)一次性插入;(注意下例中的業(yè)務(wù)分析,這個(gè)是關(guān)鍵);
2、如果存儲(chǔ)過(guò)程花費(fèi)的時(shí)間比較長(zhǎng),而且無(wú)法避免使用游標(biāo),那我們就要分析系統(tǒng)的業(yè)務(wù),看大部分的情況是走那條路的,那我們對(duì)大部分會(huì)發(fā)生的事做優(yōu)化,也是可以達(dá)到我們優(yōu)化的目的的;(比如IXC發(fā)起時(shí)候在insert到tbTodo表中都是要先判斷tbTodo是否存在數(shù)據(jù)的,那把部分情況是不存在的,那我們就一次性判斷Count,如果沒有就使用Insert select一次性插入到tbTodo)
上文中就為大家總結(jié)出了這兩點(diǎn),大家在以后的工作中遇到游標(biāo)時(shí)要特別注意,希望上文中涉及到的內(nèi)容對(duì)大家能夠有所幫助。
【編輯推薦】
- 復(fù)制SqlServer數(shù)據(jù)庫(kù)
- 數(shù)據(jù)庫(kù)設(shè)計(jì)中的五個(gè)范式
- 常用內(nèi)存數(shù)據(jù)庫(kù)介紹
- 索引存儲(chǔ)關(guān)系到數(shù)據(jù)庫(kù)的運(yùn)行效率
- 改進(jìn)數(shù)據(jù)庫(kù)的查詢性能