首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫

MySQL 10 個鮮為人知的實用技巧:XML 輸出、快速重建索引、壓縮表、CSV 匯出、Strict 模式與監控命令

     編輯:MySQL 資料庫相關知識

技巧 1:XML 格式輸出查詢結果

mysql --xml -e "SELECT * FROM test.stores;"
# 輸出標準 XML,便於程式解析、XSLT 轉換、API 對接

技巧 2:快速重建全文索引 (REPAIR TABLE QUICK)

REPAIR TABLE content QUICK;
# 僅重建索引,不重排資料,秒級完成大表全文索引更新

技巧 3:壓縮唯讀 MyISAM 表 (myisampack)

myisampack movies.MYI
# 壓縮率 40%+,節省磁碟、提升讀取速度,壓縮後不可寫入

技巧 4:SQL 陳述式中的流程控制 (IF / CASE)

SELECT IF(priv=1, 'admin', 'guest') AS usertype FROM privs WHERE username='joe';
SELECT CASE WHEN score>=90 THEN 'A' WHEN score>=80 THEN 'B' ELSE 'C' END AS grade FROM scores;

技巧 5:CSV 格式匯出 (mysqldump -T)

mysqldump -T /tmp --fields-terminated-by=',' mydb mytable
# 產生 .txt 資料檔 + .sql 結構檔,Excel/BI 工具直接開啟

技巧 6:Strict SQL 模式阻擋髒資料

mysqld --sql_mode="STRICT_ALL_TABLES"
# 禁止截斷插入、零日期、除零等隱式轉換,查詢直接報錯

技巧 7:監控伺服器狀態 (SHOW STATUS)

SHOW STATUS LIKE 'Uptime';
SHOW GLOBAL STATUS WHERE Variable_name IN ('Threads_connected','Questions','Slow_queries','Innodb_buffer_pool_reads');
# 關鍵指標:連線數、QPS、慢查詢、緩衝池命中率

技巧 8:自動產生建表語句 (SHOW CREATE TABLE)

SHOW CREATE TABLE products\G
# 獲取完整 DDL,含引擎、字元集、分區、索引,遷移/版控必備

技巧 9:自訂提示符顯示當前資料庫/用戶/主機

mysql> prompt \u@\h:\d>
root@localhost:testdb>
# 格式代碼:\u 用戶、\h 主機、\d 資料庫、\D 完整時間、\_ 空格

技巧 10:資料表檢查與修復 (CHECK/REPAIR TABLE)

CHECK TABLE tbl FAST | MEDIUM | EXTENDED;
REPAIR TABLE tbl QUICK | EXTENDED | USE_FRM;
# 定期維護排程,預防損壞擴大

結語

這 10 個技巧覆蓋輸出格式、索引維護、儲存優化、SQL 表達力、資料交換、資料質量、監控觀測、結構管理、互動體驗、故障恢復十大維度。建議建立DBA 日常操作清單,將常用技巧內化為肌肉記憶,關鍵時刻秒級取用。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved