簡體   English   中英

如何在不索引列的情況下在innodb表中添加外鍵約束?

[英]How do I add foreign key constraints in my innodb table without indexing the columns?

我閱讀了一些有關表索引的建議,我發現當您的sql查詢運行緩慢時,應該在以后引入索引。

我的問題是我在一個表中幾乎索引了所有列。 該表與其他表綁定,例如,用戶表列國家/地區與國家/地區表綁定

user table          country table
id                  id
countryId           name

我在countryId列中添加了索引,因此可以將其鏈接到國家/地區表的ID,因為當列上沒有索引時,無法創建外鍵約束。

基本上,我有很多列鏈接到其他表,只是為了向我的列添加約束。

例如,國家/地區表不超過100,因此,如果有人不小心插入了值101,則mysql將不會接受該數據,因為國家/地區表只有1-100。

那么,如何避免添加索引卻仍然具有表數據約束的功能?

  1. 那建議真可怕。

  2. 索引要在其上搜索或需要特定約束(例如唯一值)的列。

不添加索引的唯一原因是它們確實占用了空間。 但是,除非您要處理大量數據,否則需要數據庫管理員,否則您不必擔心。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM