sql數(shù)據(jù)與普通編程語(yǔ)言的區(qū)別
性能優(yōu)化原則
性能差例子
實(shí)戰(zhàn)技巧
(一)sql數(shù)據(jù)與普通編程語(yǔ)言的區(qū)別
Sql: select … from … where ….; update set ….. Where。一條語(yǔ)句批量處理數(shù)據(jù)。
普通編程語(yǔ)言: 變量= XXX; for ,while ….
一條語(yǔ)句處理一個(gè)數(shù)據(jù)。
主要區(qū)別:sql告訴系統(tǒng)我需要什么或是我作什么,至于怎么作,由數(shù)據(jù)庫(kù)內(nèi)核來(lái)完成。
普通編程語(yǔ)言:需要作什么,怎么作都開(kāi)發(fā)人員寫(xiě)語(yǔ)句來(lái)控制。Sql也可以通過(guò)光標(biāo) ,while等這樣作,但這樣的語(yǔ)句性能遠(yuǎn)遠(yuǎn)比不上select 和update.
例:sql寫(xiě)個(gè)排序只要用寫(xiě)order by …,至于怎么排由數(shù)據(jù)庫(kù)內(nèi)核完成。普通編程語(yǔ)言寫(xiě)排序,自己寫(xiě)算法一步步處理。
Sql語(yǔ)句的性能雖然我們不能控制他,但我們可以通過(guò)一些方法來(lái)影響,迎合數(shù)據(jù)庫(kù)引擎,從而得到好的性能。
|
|