資料庫設計 - 有效的使用系統資料 - 第九章 - 補充
單元 1 MySQL 資料庫維護
Workbench 還有一些方便的資料統計資訊可以看,像是哪個 SQL statements 花費最多時間之類的,滿有趣的!
Dashboard
- Network Status
- 網路狀態、流量
- MySQL Status
- Select 每秒有幾筆,有系統連線就會有資料產生
- insert update delete 每秒有幾筆
- InnoDB Status
- 儲存引擎
- 連接十題資料的 input output 狀態
Performance Reports
Memory
I/O
資料庫儲存提取實體檔案時的 IO 狀況
High Cost SQL Statements
花費最多時間的前五個 Statements
Users & Privileges
這邊可以新增不同 User 並且做權限設定。
- 限制帳號 Query 使用額度
- 資料庫就限制,可能外部連線進來的系統會發生錯誤,超過額度會無法繼續服務前面使用者
- Max connections: 每小時最多可連線的 Connection 數量
- Concurrent connections: 瞬間可連線數量
Administrative Role
DBA 可以擁有所有權限, User Admin 就只能 Create User單元 2 NoSQL 資料庫
簡介
- Not Only SQL 非關聯式資料庫
- 解決讀取海量資料的資料庫技術(FaceBook)
- Key-Value 資料型態(ex: id = 123)
- 資料量大時讀取快速
- 增加/減少資料效率高
- 擴充方便
用 API 的方式 Query 資料
資料庫軟體
- MongoDB
- Hadoop
- Redis
雲端服務
- Google - Google Cloud BigTable
- Amazone - DynamoDB
Amazone: AWS
Service > DataBase > DynamoDB
單元 4 SQL 語法判斷資料的方式
- 判斷的語法
- 深入了解 procedures 的功能
Case
幫助我們對欄位做多種情況的區分
- switch
- if else
用法:
select Case sex
WHEN 1 THEN "男生"
WHEN 0 THEN "女生"
END
from user;
select CASE
WHEN age < 18 THEN "未成年"
WHEN age >= 18 THEN "已成年"
END
from user;時
實際應用
要把訂單的產品打包裝箱,規則如下:
- 箱子大小:
- S: <10
- M: >= 10 and < 20
- L: >= 20
- 使用 Table: Orders, OrderDetails
- 建立的欄位資訊: OrderID, OrderDate, ShipperID, Quantity, Size
SELECT o.OrderID, o.OrderDate, o.ShipperID, od.Quantity,
CASE
WHEN od.Quantity < 10 THEN "S"
WHEN od.Quantity >= 10 and od.Quantity < 20 THEN "M"
WHEN od.Quantity >= 20 THEN "L"
ELSE "Null"
END as Size
FROM orderdetails od, orders o
WHERE od.OrderID = o.orderID;
Comments
Post a Comment