美國留學選擇什么專業(yè)好?留學美國熱門專業(yè)推薦
2019-06-26
更新時間: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)緩存參數及緩存適用場景
你的意思是查詢緩存嗎?用于多讀少寫,比如分析報告等。
查詢緩存大小
查詢緩存類型
查詢緩存限制
最大查詢緩存大小
如果對你有幫助的話請給我點個贊