MySQL 資料庫中設計的缺陷

2021-06-22 06:02:09 字數 343 閱讀 7629

mysql的儲存引擎工作時需要在伺服器層和儲存引擎之間通過行緩衝格式拷貝資料,然後在伺服器層將緩衝內容解碼成各個列.從行緩衝將編碼

過的列轉換成行資料結構的操作代價是非常高的. myisam的變長行結構和innodb的行結構則總是需要轉換. myisam的定長行結構則與伺服器層行結構正好匹配,所以不需要轉換.所以說,轉換的代價依賴於列的數量

注意防止過度使用列舉. 

例:create table ... (  

country enum('','0','1','2',...,'31')

這種模式的schema設計非常凌亂。這麼使用列舉值型別也許在任何支援列舉型別的資料庫都是乙個有問題的設計方案。

mysql 資料庫設計 MySQL 資料庫設計總結

本文由雲 社群發表 規則 1 一般情況可以選擇 myisam 儲存引擎,如果需要事務支援必須使用 innodb 儲存引擎。注意 myisam 儲存引擎 b tree 索引有乙個很大的限制 參與乙個索引的所有欄位的長度之和不能超過 1000 位元組。另外 myisam 資料和索引是分開,而 innod...

mysql考勤資料庫設計 mysql 資料庫設計

正規化 大概有8種正規化,遵循前三個一般資料庫就沒有問題 1 列不能再拆分 比如一列中有姓名,又有性別,就是沒有遵循這一條正規化 order id product id price quantity product name 111 11 123 good pen order id 和 produc...

mysql相簿資料庫設計 mysql資料庫的設計

資料庫的設計有乙個嚴謹的流程,根據流程製作乙個完整的資料庫,可以省去很多的時間,也可以最大程度上與客戶的想法契合。需求分析階段 分析客戶的業務和資料處理需求 概要設計階段 設計資料庫的e r模型圖,確認需求資訊的正確和完整 詳細設計階段 應用三大正規化審核資料庫結構 編寫階段 物理實現資料庫,編碼實...