数据库技术基础:查询优化相关知识笔记
? ? ? ?
1、查詢(xún)優(yōu)化的基本概念
1.1 查詢(xún)處理
查詢(xún)處理是指從數(shù)據(jù)庫(kù)中提取數(shù)據(jù)的一系列活動(dòng)。主要包括:將高級(jí)數(shù)據(jù)庫(kù)查詢(xún)語(yǔ)句翻譯成文件系統(tǒng)這一物理 層次的表達(dá)式,為優(yōu)化查詢(xún)進(jìn)行各種轉(zhuǎn)換以及查詢(xún)的實(shí)際執(zhí)行。
1.2 查詢(xún)處理的代價(jià)
查詢(xún)處理的代價(jià)通常由磁盤(pán)的訪(fǎng)問(wèn),因?yàn)榇疟P(pán)訪(fǎng)問(wèn)比內(nèi)存訪(fǎng)問(wèn)速度慢很多。磁盤(pán)的訪(fǎng)問(wèn)次數(shù)對(duì)查詢(xún)策略的好壞影響很大,有時(shí)候甚至?xí)顜讉€(gè)數(shù)量級(jí)。
1.3 查詢(xún)優(yōu)化
查詢(xún)優(yōu)化是為了查詢(xún)能夠選擇最有效的查詢(xún)計(jì)劃。查詢(xún)優(yōu)化涉及關(guān)系代數(shù)級(jí)優(yōu)化(盡可能找到與給定表達(dá)式等價(jià)、執(zhí)行效率更高的表達(dá)式)、查詢(xún)語(yǔ)句處理的詳細(xì)策略的選擇。
查詢(xún)優(yōu)化的關(guān)鍵是找到一個(gè)與之等價(jià)的且操作時(shí)間又少的表達(dá)式。
2、關(guān)系代數(shù)表達(dá)式中的查詢(xún)優(yōu)化
優(yōu)化準(zhǔn)則
1.盡早執(zhí)行選取運(yùn)算:對(duì)于有選擇運(yùn)算的表達(dá)式,應(yīng)優(yōu)化成先執(zhí)行選擇運(yùn)算的等價(jià)表達(dá)式,從而取得較小的中間結(jié)果,減少運(yùn)算量和從外存讀塊的次數(shù)。
2.合并乘積與其后的選擇運(yùn)算為連接運(yùn)算:避免乘積運(yùn)算后,再掃描一個(gè)大的乘積關(guān)系進(jìn)行選擇運(yùn)算。
3.將投影運(yùn)算和后面的其他運(yùn)算同時(shí)進(jìn)行,避免重復(fù)掃描關(guān)系
4.將投影運(yùn)算和其前后的二目運(yùn)算結(jié)合起來(lái)。避免一些沒(méi)必要的字段再掃描一遍關(guān)系。
5.在執(zhí)行連接前對(duì)關(guān)系適當(dāng)?shù)仡A(yù)處理,就可以快速找到要連接的元素。方法:索引連接法、排序合并連接法。
6.存儲(chǔ)公共表達(dá)式。對(duì)于有公共表達(dá)式的結(jié)果應(yīng)存于外存。可以節(jié)約操作時(shí)間。
IT技術(shù)分享社區(qū)
個(gè)人博客網(wǎng)站:https://programmerblog.xyz
文章推薦程序員效率:畫(huà)流程圖常用的工具程序員效率:整理常用的在線(xiàn)筆記軟件遠(yuǎn)程辦公:常用的遠(yuǎn)程協(xié)助軟件,你都知道嗎?51單片機(jī)程序下載、ISP及串口基礎(chǔ)知識(shí)硬件:斷路器、接觸器、繼電器基礎(chǔ)知識(shí)
創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎(jiǎng)勵(lì)來(lái)咯,堅(jiān)持創(chuàng)作打卡瓜分現(xiàn)金大獎(jiǎng)總結(jié)
以上是生活随笔為你收集整理的数据库技术基础:查询优化相关知识笔记的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: mysql 查看锁_SQL-mysql锁
- 下一篇: 富文本编辑器复制word文档中的图片