国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > 綜合 > 正文

InnoDB 中文參考手冊 --- 14 InnoDB 表的限制

2024-07-21 02:08:53
字體:
來源:轉載
供稿:網友
innodb 中文參考手冊 --- 犬犬(心帆)翻譯 14 innodb 表的限制 在 < 3.23.50 版本的 innodb 中,不可以使用 alter table 或 create index 來修改一個已經有了外鍵約束或參考了外鍵約束的表。使用 drop table 和 create table 來代替它。 不可以將 mysql 系統表(如 'user' 或 'host' )轉換成 innodb 類型。系統表必須總是為 myisam 類型的。 innodb 表不支持全文搜索(fulltext search)。 mysql 以自動提交模式(autocommit mode)執行復制(replication)。因此slave中的 consistent reads 可能看起來你部分處理過的事務,所以在 slave 中這種讀取(read)并不是真正的 consistent 。這個限制在 3.23.52 不再存在。 innodb 在內部不保存一個表記錄總數,這是由于 multiversioning 的原因使它實現有點復雜。為了響應一個查詢 select count(*) from t ,innodb 不得不掃描表的一個索引,如果表沒有完全在緩沖池中這將花費一些時間。 為了得到更快的計數你不得不使用自己創建一個計數表,讓你的應用程序在插入與刪除時自己更新它。 消除因鎖等待引起的瓶頸的一個方法就是創建整體的計數器集。應用程序可以隨機地每次選擇一個。 為了得到計數,僅僅只要對計數器求和:select sum(counter_column) from your_counter_table。 表中有 auto-increment 列的必須為它定義一個鍵,這個鍵必須僅僅包含這個 auto-increment 列。innodb 不支持在一個 create table 語句中使用 auto_increment=... 。這個子句是為了給一個 auto-increment 列設置第一個值(默認的第一個值為 1)。工作區(workaround):向自增列中插入一個指定的值做為第一個值。從此,innodb 將從這值開始增加。 show table status 不能給出 innodb 表的精密統計數據,除了由表保留的物理大小之外。記錄行數只能通過一個優化的 sql 來獲得大致的估計。 在 mysql 中復制(replication)中,load table from master 仍然不能在 innodb 表中工作。 在主(master)服務器中開設一個工作區(workaround )用于將表轉換成 myisam 型,然后再進行 load,之后再在 master 中將表改回 innodb 類型。 如果以一個列的前面部分建立索引:
create table t (a char(20), b int, index t_ind (a(5))) type = innodb;
innodb 將內在的在整個列上建立一個索引,而不是僅以設定的首部分。 innodb 表不支持 insert delayed 。 mysql 的 lock tables 操作無法知道一個 sql 語句已完成對 innodb 的行鎖定:這就意味著即使已有其它用戶的事務在同一張表上設置了行鎖,你仍然會鎖定該表。 所以你在這張表上的操作與其它用戶的鎖定沖突則不得不等待。同樣死鎖也是可能的。無論如何, 這能事務完整性(transaction integrity)并不危險,因為 innodb 設置的行級鎖定通常會照顧完整性(integrity)的。同樣,一個表級鎖定可以防止其它事務在表上獲得更多的行級鎖定(鎖定模式不一致)。 在 blob 或 text 字段上無法設置索引。 一張表不可以有超過 1000 個字段。 delete from table 除了刪除所有記錄行之外不再重建表,一個接一個地刪除,這并不那么快。在將來的 mysql 版本中可以使用 truncate ,這是相當快的。 在 <= 3.23.43 的 innodb 中,在對 innodb 表調用 drop database 之前,必須調用 drop table 來移除(drop) 個體的 innodb 表。這個限制在 >= 3.23.44 的版本中不再存在。 innodb 默認的數據庫頁面大小為 16 kb。通過重新編譯源代碼可以設置為 8 kb 到 64 kb。你必須在 univ.i 中更新 univ_page_size 和 univ_page_size_shift 。在版本 <= 3.23.39a 的 innodb中,最大記錄行長度為比數據庫頁面長度的一半稍小點。從源釋放版本 3.23.39b (但是在 mysql -max 3.23.40 二進制釋放版本中仍然沒有)開始, blob 和 text 字段允許 < 4 gb,整個行長度同樣 < 4 gb。innodb 不在分開的頁面中存儲尺寸 <= 128 bytes 的字段。在 innodb 通過將長字段存儲在分開的頁面上修改記錄后,剩余的記錄行長度必須小于數據庫頁面的一半。最大鍵長為 500 bytes。 日志文件的總尺寸必須 < 4 gb。 最大表空間尺寸為數據庫頁面的 4 十億(billion)倍。這同樣也是一個表的最大尺寸。最小表空間為 10 mb。 注冊會員,創建你的web開發資料庫,
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 丰宁| 横峰县| 广汉市| 临泽县| 瑞安市| 龙州县| 泉州市| 葵青区| 祥云县| 宁国市| 麦盖提县| 健康| 鲁山县| 衡东县| 兰州市| 新民市| 辽中县| 威宁| 墨玉县| 托里县| 庆阳市| 江陵县| 繁峙县| 南木林县| 苍梧县| 绵竹市| 麟游县| 大姚县| 顺义区| 荆门市| 洛隆县| 庆城县| 鹤山市| 合川市| 东兰县| 游戏| 运城市| 葫芦岛市| 龙里县| 托克逊县| 荆门市|