mysql索引,引擎選擇

2021-09-26 04:30:38 字數 986 閱讀 4034

foreign key 外來鍵

set null(在父表上update/delete記錄時,將子表上匹配記錄的列設為null (要注意子表的外來鍵列不能為not null))

no action(如果子表中有匹配的記錄,則不允許對父表對應候選鍵進行update/delete操作)

restrict(同no action, 都是立即檢查外來鍵約束)

set default(父表有變更時,子表將外來鍵列設定成乙個預設的值 但innodb目前不支援)

一般資料量大不設外來鍵,自己維護表關係,減少mysql額外開銷,提高效率。

key/index 索引

unique 唯一索引

innodb儲存引擎

– innodb是事務型資料庫的首選引擎,支援事務安全表(acid)支援外來鍵完整性約束,innodb是預設的mysql引擎

– innodb不建立目錄,使用innodb時,mysql將在mysql資料目錄下建立乙個名為ibdata1的10mb大小的自動擴充套件資料檔案,以及兩個名為ib_logfile0和ib_logfile1的5mb大小的日誌檔案

myisam儲存引擎

– myisam基於isam儲存引擎,並對其進行擴充套件。它是在web、資料倉儲和其他應用環境下最常使用的儲存引擎之一。myisam擁有較高的插入、查詢速度,但不支援事物

支援大檔案儲存,myisam型別表的auto_increment列更新比innodb型別的auto_increment更快,使用myisam引擎建立資料庫,將產生3個檔案。檔案的名字以表名字開始,副檔名之處檔案型別:frm檔案儲存表定義、資料檔案的擴充套件名為.myd(mydata)、索引檔案的副檔名時.myi(myindex)

mysql 選擇索引 mysql選擇索引

1 盡量為用來搜尋 分類或分組的資料列編制索引,不要為作為輸出顯示的資料列編制索引。最適合有索引的資料列是那些在where子句中資料列,在聯結子句 現的資料列,或者是在group by order by子句 現的資料列。select 後的資料列最好不要用索引。2 綜合考慮各資料列的維度。資料列的維度...

mysql如何選擇引擎 mysql引擎如何選擇

有一張表用來存溫度資訊用於頁面展示折線圖用 結構如下 create table temp id varchar 40 not null,duuid varchar 40 default null,temp int 11 default null,recordtime datetime default...

mysql怎麼選擇引擎 mysql引擎如何選擇

有一張表用來存溫度資訊用於頁面展示折線圖用 結構如下 create table temp id varchar 40 not null,duuid varchar 40 default null,temp int 11 default null,recordtime datetime default...