红菊直播官方版-红菊直播免费版app下载-红菊直播永久免费版下载

網站首頁
手機版

Mysql 面試實戰(zhàn)系列(四)——快馬揚鞭(mysql面試題經典)

更新時間:2024-08-08 22:20作者:小樂

路過時不要錯過。錯過一分,就可能錯過一萬、兩萬,就錯過了一個好機會。如果您有什么好的建議或者疑問,請留言,我們一起討論。

告訴我們如何進行sql優(yōu)化

解釋各個項目的含義

profile的含義及使用場景。

explain 中的索引問題。

(1)解釋各項目的含義

id: 每個獨立執(zhí)行的操作的標志,表示操作對象的順序。一般來說,值較大的先執(zhí)行;

如果id值相同,則順序是從上到下。

select_type:查詢中每個select子句的類型。詳細信息將于明天添加。

table:名稱,正在操作的對象的名稱,通常的表名稱(或別名),但還有其他格式。

與partition:匹配的分區(qū)信息。

type:連接類型。具體說明將于明天添加。

possible_keys:列出可能使用的索引。

key:實際使用的索引。

key_len: 使用的索引鍵的平均長度(以字節(jié)為單位)。

ref:表示該行正在操作的對象的引用對象。它可能是const表示的常量,也可能來自其他表。

key指向的對象,比如驅動表的連接列。

rows: 估計每次需要掃描的行數。

Filtered:rows*filtered/100 表示這一步最終得到的行數(估計值)。

extra:重要的附加信息。詳細信息將于明天添加。

(2) Profile的含義及使用場景。

Profile用于分析SQL性能的消耗分布。當explain無法解決慢SQL時,需要使用

profile 對sql進行更詳細的分析,找出哪部分sql花費時間最多,并確認該sql

性能瓶頸。 (我用的不多,期待更好的答案)

(3)解釋中的索引問題。

在Explain結果中,一般來說,應該盡量使用索引(類型為const、ref等,鍵列有值)而避免

無需使用全表掃描(類型明確為ALL)。例如,具有where條件和良好選擇性的列需要建立索引。

驅動表的連接列也需要建立索引。從動表的連接列也可以與where條件列一起創(chuàng)建

聯盟索引。當需要排序或分組時,還可以考慮建立索引來實現直接排序和匯總。

需要

2. 告訴我們您做了什么樣的備份以及相關計劃

備份計劃

備份恢復時間

備份和恢復失敗如何處理

原則:

mysqldump 是邏輯備份。添加--single-transaction 選項可實現一致的備份。后臺流程

會話的事務隔離級別首先會被設置為RR(SET SESSION TRANSACTION ISOLATION LEVEL

REPEATABLE READ),然后顯式啟動事務(START TRANSACTION /*!40100 WITH CONSISTENT

SNAPSHOT */),這樣可以保證事務中讀取到的數據是事務的快照。然后把桌子放在桌子上

數據被讀出。如果加上--master-data=1,則會在開頭加上數據庫讀鎖。

(FLUSH TABLES WITH READ LOCK),事務打開后,記錄此時數據庫的binlog位置(show

master狀態(tài)),立即解鎖,然后讀取表數據。全部數據導入后,即可結束交易。

Xtrabackup:

xtrabackup是物理備份,直接復制表空間文件并不斷掃描生成的重做日志并保存。

來。 innodb備份完成后,會進行一次flush引擎日志操作(舊版本有bug,

如果在5.6上不這樣做,數據會丟失),確保所有重做日志都已放置(涉及事務的兩階段提交)

概念,因為xtrabackup不復制binlog,所以必須保證所有redo日志都放在磁盤上,否則

最后一組提交的交易數據可能會丟失)。這個時間點就是innodb完成備份的時間點。雖然數據文件

雖然不一致,但是通過這段時間的redo,數據文件可以達到一致性(恢復時做了什么)

感情)。然后,您需要使用讀鎖刷新表并從其他引擎(例如myisam)備份表。

備份完成后解鎖。這樣就形成了完美的熱備。

后備方案:

這取決于圖書館的規(guī)模。一般來說,對于100G以內的庫,可以考慮使用mysqldump,因為mysqldump

更加輕量靈活,備份時間選擇在業(yè)務低峰時期,每天可以進行全量備份(mysqldump備份

生成的文件更小,壓縮后更小)。

對于100G以上的庫,可以考慮使用xtranbackup。備份速度明顯比mysqldump快。一般來說

每周選擇一次全量備份,其余的每天進行增量備份。備份時間為業(yè)務非高峰期。

備份恢復時間:

物理備份恢復快,邏輯備份恢復慢

備份與恢復失敗如何處理:

首先,恢復前要做好充足的準備,避免恢復過程中出現錯誤。例如備份后的有效性檢查,

權限檢查、空間檢查等,如果報錯,根據錯誤提示進行相應調整。

3.500db,最快時間重啟

您可以使用批量ssh工具pssh在需要重啟的機器上執(zhí)行重啟命令。還可以使用salt(前提是客戶端安裝了salt)或者ansible(ansible只需要ssh登錄)等多線程工具來同時操作多臺服務器。

4、innodb讀寫參數優(yōu)化

讀取參數、全局緩沖池和本地緩沖區(qū)

寫入參數

IO相關參數

緩存參數及緩存適用場景

(1)讀取參數、全局緩沖池和本地緩沖區(qū)

全局緩沖區(qū):

Innodb_buffer_pool_size

innodb_log_buffer_size

innodb_additional_mem_pool_size

local buffer(以下都是server層的session變量,不是innodb):

讀取緩沖區(qū)大小

連接緩沖區(qū)大小

排序緩沖區(qū)大小

鍵緩沖區(qū)大小

Binlog_cache_size

(2)寫入參數

insert_buffer_size資源由www.eimhe.com美禾學習在線合集提供

innodb_double_write

innodb_write_io_thread

innodb_flush_method

(3)IO相關參數

同步_binlog

Innodb_flush_log_at_trx_commit

Innodb_lru_scan_深度

Innodb_io_capacity

Innodb_io_capacity_max

innodb_log_buffer_size

innodb_max_dirty_pages_pct

(4)緩存參數及緩存適用場景

你的意思是查詢緩存嗎?用于多讀少寫,比如分析報告等。

查詢緩存大小

查詢緩存類型

查詢緩存限制

最大查詢緩存大小

如果對你有幫助的話請給我點個贊

為您推薦

美景之屋@#好劇推薦

美景之屋(2)。男人一把將女人推到墻上壁咚,迫不及待的解開她的扣子,卻不想隔墻有耳。這一幕被門外的小美看到了。小美是房地產公司的新職員,屋里跟客戶偷情的女人是她的前輩阿瑟。小美怎么也想不到,自己只是想偷偷學習經驗,卻撞見了這么大一個秘密。小

2024-08-08 22:21

敏感時刻實施美式教育效果尷尬,全面倒向美國,俄羅斯更生氣,美式教育的英文

澤連斯卡雅,作為烏克蘭總統澤連斯基的妻子,最近提議在烏克蘭推廣美式幸福教育,強調教育內容將充分考慮烏克蘭的實際情況進行改編。她認為這種教育有助于孩子們的成長,尤其是在人際關系、生活技能、道德意識、情商等方面的培養(yǎng)。盡管這種提議本身并無不可接

2024-08-08 22:20

在家上學!讓人大吃一驚的美式教育方式

每年這個時候,應該是孩子們重返校園,開始新學期school day的日子。今年的天公不作美,暴風雪在美國東北部肆虐,很多學校不得已推遲了上課的時間。閑置在家,孩子們無事可做,所有的注意力都瞄向了戶外,開始在雪地上撒開腳丫子狂歡。“盡情玩耍吧

2024-08-08 22:19

中式教育和美式教育的三點區(qū)別#成長教育(中式教育和美式教育的區(qū)別英語作文)

中國人與美國人養(yǎng)娃的區(qū)別。中國的教育就是學,美國的教育就是玩。大錯特錯。第一個區(qū)別:10歲以下是探索期,在探索期。好奇心:美國教育是保護孩子的好奇心。[興趣熱愛:使孩子充滿對大自然。興趣的熱愛,注重結果。中國教育比較注重結果,10歲必須到幾

2024-08-08 22:19

真實的美國家庭如何教育子女?這四種美式教育了解下(美國父母教育方式)

如今,許多年輕家長在教育孩子時總是小心翼翼,他們常常會結合各類育兒專家給出的建議,來不斷調整自己的教育方式。不同的孩子會有其不一樣的性格和特點,但有許多方面都是共通的。 那么,你想知道真實的美國家庭都是怎樣教育自己孩子的嗎?美國教育專家黛安

2024-08-08 22:18

全面守護孩童的上學路 福田歐輝這款“寶藏校車”來了

拋下那些所謂不能輸的“起跑線”焦慮,我們最應該為孩子做的,難道不是守護他們平安健康地成長嗎 2021年4月10日,福田歐輝新一代健康校車BJ6996、BJ6766亮相湖南長沙,兩款全新升級、更安全、更健康的“寶藏校車”,將全面守護孩童的上學

2024-08-08 22:18

加載中...