[英]Why does MySQL Workbench create two indexes on a n:m relation?
我一直想知道這已經有一段時間了。 當您使用MySQL Workbench在兩個表(比如說A和B)之間創建一個:m關系時,結果表(比如說A_B)具有三個索引(PRIMARY,一個在A的主鍵上,一個在B的主鍵上)。
根據這個問題, PRIMARY KEY總是自己索引的,那么為什么需要再次用奇異索引來索引每個奇異字段呢? 另外,如果這是MySQL的策略,那么與其他DBMS是否不同?
在關系數據庫中,在涉及外鍵關系的列上具有索引是一個很好的經驗法則,因為大多數情況下,SQL查詢將基於這些列聯接表。
我的猜測是,工作台遵循該經驗法則,但不夠聰明,無法看到在其中一列為Pk的情況下已經存在索引。
因此它只為每列添加一個索引,而不檢查其中一列是否也是主鍵。 (pk列不必是外鍵關系的一部分)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.