歸納
這類(lèi)型問(wèn)題可以稱(chēng)為:Query Optimization,從清華AI4DB的paper list中,該類(lèi)問(wèn)題大致可以分為:
- Query Rewriter
- Cardinality Estimation
- Cost Estimation
- Plan Optimization
從中文的角度理解那就是:
- 查詢(xún)重寫(xiě)
- 基數(shù)估計(jì)
- 成本估計(jì)
- 執(zhí)行計(jì)劃優(yōu)化
sql本身的優(yōu)化
可以發(fā)現(xiàn),這類(lèi)型的優(yōu)化問(wèn)題,大多數(shù)從sql本身,或者說(shuō)從執(zhí)行計(jì)劃本身入手,通過(guò)執(zhí)行計(jì)劃本身的優(yōu)化來(lái)提升sql的性能。比如,數(shù)據(jù)庫(kù)優(yōu)化器給出某條sql的執(zhí)行計(jì)劃,但是由于數(shù)據(jù)庫(kù)本身對(duì)于基數(shù)估計(jì)不準(zhǔn)確,所以產(chǎn)生了次優(yōu)的執(zhí)行計(jì)劃,這時(shí)候查詢(xún)重寫(xiě)技術(shù)通過(guò)對(duì)執(zhí)行計(jì)劃進(jìn)行優(yōu)化,修改join order條件,達(dá)到更優(yōu)的執(zhí)行計(jì)劃,從而提升sql的執(zhí)行效率。
數(shù)據(jù)庫(kù)層面的優(yōu)化
但還有一類(lèi)型的優(yōu)化,并不從sql的本身出發(fā),或者說(shuō)不是那么直接的sql層面出發(fā),而是從數(shù)據(jù)庫(kù)層面入手,就有很多優(yōu)化技術(shù):如,參數(shù)調(diào)優(yōu)、物化視圖等技術(shù)。
以spark-sql為例,它有很多參數(shù),而每次執(zhí)行的結(jié)果和對(duì)應(yīng)的參數(shù)密切相關(guān),參數(shù)調(diào)優(yōu)的目的就是找到一組最佳的參數(shù)去調(diào)高sql執(zhí)行效率,它不從sql層面入手,但是卻也達(dá)到了sql優(yōu)化的效果。文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-797126.html
文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-797126.html
到了這里,關(guān)于【數(shù)據(jù)庫(kù)】sql優(yōu)化有哪些?從query層面和數(shù)據(jù)庫(kù)層面分析的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!