Course Code: zamysql
Duration: 14 hours
Overview:

目標群體:

它是針對那些有使用 windows/linux 作為伺服器基礎的人的,知道 SQL,

Course Outline:

物理/邏輯架構 MySQL

  • 伺服器檔和啟動文稿
  • 伺服器設定 MySQL
  • 我的.cnf
  • 基本參數
  • 伺服器紀錄檔
  • 查詢日誌
  • 查詢日誌慢
  • 錯誤紀錄

管理

  • 用戶帳戶
  • MySQL 中的許可權和安全性
  • 備份和還原 – Mysqldump 與 Percona 備份
  • 資料庫維護

優化架構

  • InnoDB:具體呈現 – 缺點、優點、與 MyISAM 有什麼區別 – 何時使用什麼?
  • 如何選擇主鍵(空間鍵、b樹等)?
  • 在 InnoDB 引擎上進行全文搜索(可能僅 <5.6 MyISAM,高於 5.6 MyISAM+InnoDB)

MySQL 查詢緩存

  • 為什麼,為了什麼問題,什麼價值,值得它做大?

性能測試,識別性能問題

  • 測試什麼 - 取決於我們想要獲得的結果
  • 解決效能問題(慢查詢、等待、效能工具等)

資料分片(水平和垂直)

  • 差異、成本、局限性

優化架構

索引

  • 超大表中的索引
  • 主金鑰(摺疊時,在哪些欄位上)

數據類型

  • 選擇數據類型的技巧,正確使用字段類型(int/float、時間、地理位置)——優點、局限性
  • int 以外的主鍵是否可接受且同樣有效?
  • 每個表都應該有一個主鍵嗎?
  • 交易 - 何時使用,何時不使用 - 優點和缺點。

優化操作系統和硬體利用率

  • my.cnf 中最重要的參數

應用層面的優化

  • 優化工具
  • 用於分析設置和顯示工具提示的腳本

資料庫複製

  • 複製、集群 - 如何實現高可用性?
  • 複製配置(ROW/PAGE、故障排除、重建、監視/診斷複製過程

MySQL 代理與 HAProxy

  • 工作原理、可靠性(?)、優點、缺點

MySQL 集群

  • 原則
  • 配置
  • 效率
  • 安全

緩存

  • 緩存 MySQL,臨時表
  • 是否值得將關係移動到資料庫,還是將它們保留在代碼中更好?
  • 子查詢和聯接 - 你應該使用它,如何優化?

解釋為查詢測試輔助工具

  • 使用索引生成查詢
  • 查詢分析 - 什麼工具,如何有效地做到這一點?
  • 視覺設計工具 - 是否值得使用或更確切地說是簡化結構?

最佳實踐和命名約定 - 鍵、列、索引、表

構建最佳表結構

  • 觸發器:在程式和觸發器中保持邏輯的良好做法 - 如何管理,如何測試,何時使用?
  • 設計模式和反模式

是否值得切換到 MariaDB?

管理工具

  • MySQL 工作臺
  • 納維卡特
  • 海蒂 SQL
Sites Published:

Polska - Zaawansowana administracja MySQL