mysql怎么選擇驅(qū)動表 mysql80驅(qū)動類

表連接中的驅(qū)動表與被驅(qū)動表

MySQL選擇驅(qū)動表與被驅(qū)動表是基于優(yōu)化器優(yōu)化后的,小表是驅(qū)動表,大表是被驅(qū)動表。 基于優(yōu)化器優(yōu)化后開篇的 博文A與B 結(jié)論成立。

創(chuàng)新互聯(lián)公司-專業(yè)網(wǎng)站定制、快速模板網(wǎng)站建設(shè)、高性價(jià)比興縣網(wǎng)站開發(fā)、企業(yè)建站全套包干低至880元,成熟完善的模板庫,直接使用。一站式興縣網(wǎng)站制作公司更省心,省錢,快速模板網(wǎng)站建設(shè)找我們,業(yè)務(wù)覆蓋興縣地區(qū)。費(fèi)用合理售后完善,十余年實(shí)體公司更值得信賴。

table中檢索到與之匹配的行。Outer table: 小表、驅(qū)動表 Inner table: 被驅(qū)動表、大表 (可用ordered提示來改變CBO默認(rèn)的驅(qū)動表,可用USE_NL(table_name1 table_name2)提示來強(qiáng)制使用nested loop。

實(shí)則為 驅(qū)動表扇出*被驅(qū)動每次掃描行數(shù)*filtered*成本常數(shù) ,即 20*200*10%*0.2 。

首先,MySql join連接可以連接兩張或更多的數(shù)據(jù)表,但是并沒有誰是“驅(qū)動表”之說。Join分為inner join內(nèi)連接和outer join外連接兩種形式,外連接還可以進(jìn)一步分為左連接和右連接。

聯(lián)表查詢注意誰是驅(qū)動表&你搞不清楚誰join誰更好時(shí)請放_MySQL

結(jié)果顯示t2是驅(qū)動表,t1是被驅(qū)動表。t2是1000條數(shù)據(jù)按理說是大表應(yīng)該是被驅(qū)動表,與 博文A , 博文B 的結(jié)論又不一致了。

首先,MySql join連接可以連接兩張或更多的數(shù)據(jù)表,但是并沒有誰是“驅(qū)動表”之說。Join分為inner join內(nèi)連接和outer join外連接兩種形式,外連接還可以進(jìn)一步分為左連接和右連接。

因?yàn)楸磉B接查詢時(shí)后面的表必然會進(jìn)行全表掃描,所以數(shù)據(jù)少的放后面,提高sql語句的執(zhí)行效率。操作方法如下:首先優(yōu)化原則,小表驅(qū)動大小,即小的數(shù)據(jù)集驅(qū)動大的數(shù)據(jù)集。

mysql在連表查詢時(shí)是小表驅(qū)動大表嗎

a inner join b,MySQL會選擇相對小的表作為驅(qū)動表,大的表作為被驅(qū)動表。這里的大和小,你可以理解為真正參與關(guān)聯(lián)查詢的數(shù)據(jù)行多的為大表,少的為小表。

開啟慢查詢?nèi)罩?,設(shè)置閥值,比如超過5秒就是慢SQL,并把它抓取出來。explain+慢SQL 分析 show profile 查詢SQL在MySQL服務(wù)器里面的執(zhí)行細(xì)節(jié)和聲明周期。

如果是JOIN的話,它是走嵌套查詢的。小表驅(qū)動大表,且通過索引字段進(jìn)行關(guān)聯(lián)。如果表記錄比較少的話,還是OK的。大的話業(yè)務(wù)邏輯中可以控制處理。數(shù)據(jù)庫是最底層的,瓶頸往往是數(shù)據(jù)庫。

MySQL表連接之驅(qū)動表與被驅(qū)動表

MySQL選擇驅(qū)動表與被驅(qū)動表是基于優(yōu)化器優(yōu)化后的,小表是驅(qū)動表,大表是被驅(qū)動表。 基于優(yōu)化器優(yōu)化后開篇的 博文A與B 結(jié)論成立。

首先,MySql join連接可以連接兩張或更多的數(shù)據(jù)表,但是并沒有誰是“驅(qū)動表”之說。Join分為inner join內(nèi)連接和outer join外連接兩種形式,外連接還可以進(jìn)一步分為左連接和右連接。

一般情況下,遵循如下規(guī)則:a left join b,a是驅(qū)動表,b是被驅(qū)動表。a right join b,b是驅(qū)動表,a是被驅(qū)動表。a inner join b,MySQL會選擇相對小的表作為驅(qū)動表,大的表作為被驅(qū)動表。

然后再從驅(qū)動表結(jié)果集中拿出另一條記錄,再一次把被驅(qū)動表的記錄加載到內(nèi)存中一遍,周而復(fù)始,驅(qū)動表結(jié)果集中有多少條記錄,就得把被驅(qū)動表從磁盤上加載到內(nèi)存中多少次。

實(shí)則為 驅(qū)動表扇出*被驅(qū)動每次掃描行數(shù)*filtered*成本常數(shù) ,即 20*200*10%*0.2 。

標(biāo)題名稱:mysql怎么選擇驅(qū)動表 mysql80驅(qū)動類
URL鏈接:http://bm7419.com/article35/dgdhgsi.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站制作、、網(wǎng)站改版、小程序開發(fā)云服務(wù)器、面包屑導(dǎo)航

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

網(wǎng)站托管運(yùn)營