卖逼视频免费看片|狼人就干网中文字慕|成人av影院导航|人妻少妇精品无码专区二区妖婧|亚洲丝袜视频玖玖|一区二区免费中文|日本高清无码一区|国产91无码小说|国产黄片子视频91sese日韩|免费高清无码成人网站入口

sql查詢語句性能優(yōu)化技巧 一條更新的SQL語句是如何執(zhí)行的?

一條更新的SQL語句是如何執(zhí)行的?第一步:連接器首先,您需要連接到數(shù)據(jù)庫,并輸入ip、端口和帳戶密碼。然后根據(jù)你的賬號(hào)密碼,連接器會(huì)驗(yàn)證你的身份。有兩種情況:1。如果用戶密碼不正確,您將被拒絕訪問。2

一條更新的SQL語句是如何執(zhí)行的?

第一步:連接器

首先,您需要連接到數(shù)據(jù)庫,并輸入ip、端口和帳戶密碼。然后根據(jù)你的賬號(hào)密碼,連接器會(huì)驗(yàn)證你的身份。

有兩種情況:1。如果用戶密碼不正確,您將被拒絕訪問。

2.驗(yàn)證通過后,連接器到權(quán)限表獲取該賬戶下的權(quán)限,用于本次連接后的權(quán)限判斷。

第二種情況是指,如果這個(gè)連接仍然保持,如果管理員更改了你的帳戶的權(quán)限,也不會(huì)影響你的帳戶。只有斷開連接再重新連接才有意義。此外,如果你還沒有 如果此后沒有對(duì)此連接做任何事情,連接器將自動(dòng)斷開連接,默認(rèn)時(shí)間是8小時(shí)。

這里要注意一點(diǎn):你所有操作的臨時(shí)記憶都會(huì)存儲(chǔ)在你的連接中,只有斷開后才會(huì)釋放。所以如果長時(shí)間保持連接,大內(nèi)存的操作占用內(nèi)存太多,Mysql就會(huì)被系統(tǒng)重啟。

所以如果有大內(nèi)存操作,最好重新連接,釋放臨時(shí)內(nèi)存!如果你的Mysql版本是5.7以上,可以通過執(zhí)行mysql_reset_connection來釋放臨時(shí)內(nèi)存。

第二步:檢查緩存。

連接之后,如果執(zhí)行一個(gè)查詢語句,會(huì)先去緩存。如果您以前執(zhí)行過該語句,它將以鍵值對(duì)的形式存儲(chǔ)在緩存中。key是查詢語句,value是結(jié)果,可以直接返回。

聽起來不錯(cuò),而且。;緩存后非常舒服,但是經(jīng)常使用緩存弊大于利!你說什么?

例如,如果您在一個(gè)表中查找10條語句,它們都會(huì)被緩存。如果這個(gè)表的update語句進(jìn)來,它 結(jié)束了。之前所有緩存都會(huì)清空!答案是零!除非是靜態(tài)表,基本沒有更新,可以用緩存!

注意8.0版本直接屏蔽了緩存,這個(gè)功能沒有了。

第三步:分析器

如果緩存失敗,它將會(huì)出現(xiàn)在解析器中。首先分析詞法,比如select和你的表名、列名等關(guān)鍵字,然后分析語法,確定你的語句是否符合語法。如果不是,通常會(huì)給你一個(gè)你的SQL語法有錯(cuò)誤?

第四步:優(yōu)化程序

經(jīng)過分析,Mysql其實(shí)是知道你想要什么的,但是還是要幫你優(yōu)化!比如決定用哪個(gè)指數(shù)?如何按順序連接表格?

例如,select * from a join b on wh:。

通過存儲(chǔ)引擎的接口調(diào)用引擎返回表的第一行,看t是否為10。如果是,它將被存儲(chǔ)在結(jié)果集中,否則將被跳過。

繼續(xù)調(diào)用接口獲取第二行,直到遍歷完成。

然后將結(jié)果集返回給客戶端。

有些人可能想知道為什么在第五步中驗(yàn)證權(quán)限。為什么不在優(yōu)化器之前做呢?

因?yàn)橛袝r(shí)候SQL語句操作的不僅僅是字面上的SQL,比如你有一個(gè)觸發(fā)器,這個(gè)觸發(fā)器只有在執(zhí)行的時(shí)候才能被確認(rèn),所以驗(yàn)證權(quán)限這一步就得由執(zhí)行人來做,前面的可以 還沒完。

Mysql中一條語句的執(zhí)行就這樣完成了!

sql語句查詢速度是1分鐘慢嗎?

可以優(yōu)化。我們最近在做的就是用三臺(tái)30G內(nèi)存12核的虛擬機(jī)。對(duì)于6.14億條數(shù)據(jù)(Mysql中130G,parquet格式中30G),多字段分組聚合一個(gè)字段計(jì)數(shù)(distinct)大約需要30秒,而普通查詢大約需要2秒。所以我覺得你的情況還有很大的優(yōu)化空間。