鍍金池/ 問答/PHP  數(shù)據(jù)庫/ mysql5.7 建立索引的方式有個問題請教下

mysql5.7 建立索引的方式有個問題請教下

mysql版本5.7

問題1:
給數(shù)字類型的字段添加索引:如日期 存儲為 int 類型,那么給日期添加索引可以用
用index 或者 key 這樣的方式?
index(字段名)?

問題2:整形類型的索引是用index 還是用key啊 好模糊啊 不太懂 求指點下。

問題3:多對多中的中間表(名字為C吧) 如 id Aid Bid 其中Aid 和Bid 為關(guān)聯(lián)表 ID字段,請問是否添加
index(Aid)
Index(Bid)
這樣來提高查詢效率?

回答
編輯回答
維他命

index 或者key 都是索引的名字而已,看需求情況,可以給需要的表加唯一索引,對于中間表,就像你加的那兩個索引,其實對于查詢速度是有影響的,只不過數(shù)據(jù)不太穩(wěn)定,可以在多對多的表加外鍵解決。最后加索引的鍵注意鍵的長度,具體了解下聚簇的概念。

2018年6月24日 05:48
編輯回答
尛憇藌

。。。不是很明白,大概猜想一下,你所說的 index 是指普通索引,key 是指主鍵索引么?因為索引從字段數(shù)可以分為字段索引和組合索引(多字段形成的一個索引,多層級關(guān)系),從索引類型分為 普通索引,唯一索引,主鍵索引和全文索引?;谀銓λ饕惶私猓▊€人判斷)的情況對你做出以下回答:

索引效率是由索引的是否重復(fù)性決定的,比如,字段 aid 它是唯一性的值,就算你不設(shè)置唯一索引,它其實也等價唯一索引,而索引類型中主鍵索引的效率是最高的,但它也只能設(shè)置一個,所以一般作為查找的標(biāo)識使用。如果你要對關(guān)系表做索引,其實設(shè)置兩個就好了,其中一個主鍵給表的標(biāo)識字段 ID 設(shè)置。然后另一個索引則創(chuàng)建一個關(guān)聯(lián)索引 AID,BID ,需要注意的是,根據(jù)你的項目需求,設(shè)置 AID 和 BID 的順序需要調(diào)整一下,至于更多的,我想這個表是不需要的,因為索引的使用,它每次只會使用一個。更多的信息請自行了解。

2018年1月2日 05:15
編輯回答
夏木

怕是你完全沒去理解索引是什么東西吧。 索引有 unique,primary key, key, fulltext, spatial 這幾個索引,然后你再命名就行了,還有你多表連接的時候,不是說各自建索引就好,而是你本身對這個字段的使用作用,或者說是使用到的頻率而去設(shè)置索引

2017年11月17日 13:50