2015年5月15日 星期五

關於 MySQL 的限制

今天為了確認 MySQL 對資料表名稱的限制, 整理了網路上查到的資料如下 :

資料庫與資料表名稱的限制 :
  1. 只使用英數字與底線之組合 (小於 64 字元), 且不可用數字開頭 
  2. 有分大小寫
欄位名稱的限制 :
  1. 只使用英數字與底線之組合 (小於 64 字元), 且不可用數字開頭
  2. 不分大小寫, 故 USER 與 user 是同一欄位
之前有試過用 CREATE TABLE 產生名稱為數字的資料表 (例如股票代號), 發現建立資料表沒問題, 但卻無法正常寫入資料.

另外, 最多可建多少個 MySQL 資料庫, 以及一個資料庫最多可建幾個資料表呢? 根據 "Limits on Number of Databases and Tables" 這篇說明, MySQL 基本上對此並無限制, 但可能會受到作業系統的檔案系統限制; 而儲存引擎 Innodb 則允許最多 400 萬個資料表.

"MySQL has no limit on the number of databases. The underlying file system may have a limit on the number of directories.

MySQL has no limit on the number of tables. The underlying file system may have a limit on the number of files that represent tables. Individual storage engines may impose engine-specific constraints. InnoDB permits up to 4 billion tables."

某些免費主機會限制能建立的資料表數目, 超過就會被停權. 而 Appfog 的 MySQL 限制如下 :

https://support.appfog.com/hc/en-us/articles/202315676-MySQL 

參考 :

# MySQL 教材:建立/描述/刪除表格
mysql一個資料庫最可以幾個表
# Limits on Number of Databases and Tables
# MySQL 超新手入門(9)表格與索引 (讚)

意外找到張益裕的部落格, 十多年前開始學 Java 時, 買過他所翻譯的書, 非常厚, 可說是我走向軟體之路的啟蒙書.

# Python Tutorial 第一堂(1)揭開序幕


沒有留言 :