本章從「什麼場景需要數據庫」切入,對比手工/電子表格/文件系統局限,闡述 MySQL 作為關係型數據庫的五大核心優勢,並以牙科診所、庫存查詢、廣告投放三個實戰場景展示從傳統應用到 Web 服務的演進路徑。
當信息具備以下特徵,手工處理極其繁重:
| 價值 | 傳統痛點 | MySQL 解決方案 |
|---|---|---|
| 1. 結構化存儲與快速檢索 | 文件櫃查找需人工翻閱,O(n) | B+ 樹索引,毫秒級定位,SQL 聲明式查詢 |
| 2. 靈活查詢序列與輸出格式 | 固定物理順序,難以按不同維度排序 | 任意 ORDER BY、GROUP BY、匯總函數,結果集直接導出 CSV/HTML/XML |
| 3. 多用戶併發訪問 | 紙質記錄同一時間只能一人使用 | 行級鎖/MVCC,多線程架構,讀寫不阻塞 |
| 4. 遠程訪問與電子傳輸 | 需物理遞送或傳真 | TCP/IP 網絡協議,JDBC/ODBC/原生驅動,SSL 加密傳輸 |
| 5. Web 集成與數據服務化 | 孤島系統,無法對外暴露數據能力 | Web 應用直連、API 封裝、實時庫存查詢、廣告投放追蹤 |
傳統:翻閱卡片箱找「6個月未來診患者」→ 數小時
MySQL:SELECT * FROM patients WHERE last_visit < DATE_SUB(NOW(), INTERVAL 6 MONTH) → 秒級出結果
傳統:客戶致電 → 服務台查系統 → 回電 → 人力成本高、響應慢
Web + MySQL:客戶訪問網站 → 輸入零件號 → 即時顯示庫存/價格/兼容車型 → 7×24 自助、邊際成本趨零
需要持久化結構化數據?
├─ 否 → 文件/內存/NoSQL 足矣
└─ 是 → 需 ACID 事務 / 複雜關聯 / 標準 SQL?
├─ 否 → 考慮 MongoDB/Redis/Cassandra
└─ 是 → 關係型數據庫
├─ 嵌入式/單機輕量 → SQLite
├─ 企業級/高併發/分布式 → PostgreSQL/Oracle/SQL Server
└─ Web 應用/中小規模/成本敏感/生態豐富 → MySQL/MariaDB