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

MySQL 使用實戰筆記:字符集陷阱、整數型別誤區、phpMyAdmin 顯示差異與記憶體表限制

     編輯:MySQL 資料庫相關知識

1. 同字符不同字符集佔用空間異

預設 latin1:漢字 2 字節、英文 1 字節。gb2312/utf-8:英文亦佔 2 字節。CHAR(10) 中的 10 按字符集字符數計算,大數據量場景尤需注意,可在 CHAR/VARCHAR 間權衡。

2. 整數型別顯示寬度不影響儲存範圍

TINYINT(1) 與 TINYINT(2) 儲存範圍相同:無號 0-255,有號 -128 到 127。其他整數型別同理,括號內數字僅為顯示寬度提示。

3. phpMyAdmin「總計」不準確

非 MySQL 問題。SELECT * FROM innodb_table 顯示的「總計」與 SELECT COUNT(*) 結果可能不一致,MyISAM 亦有此現象,易造成誤解。

4. 記憶體表 (MEMORY/HEAP) 限制

  • 大小受限,超過 my.ini 設定自動轉部分至硬碟
  • 固定大小分配空間,即使 1 條記錄也可能佔數 MB
  • 超限報錯:#1114: The table 'XXX' is full
  • 配置參考:tmp_table_size=13M 控制單表上限

5. MERGE 表限制

僅 MyISAM 表可合併,所有子表結構必須一致。

6. 多表更新支援

較新版本支援同時 UPDATE 多表:

UPDATE user_state, user_state2
SET user_state.state_0507_db2 = user_state2.state_0507_db2
WHERE user_state.qq = user_state2.QQ
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved