常見的索引
主鍵和二級(jí)索引
MySQL學(xué)習(xí)筆記-主鍵索引和二級(jí)索引_mysql中主鍵索引和二級(jí)索引的區(qū)別_愛(ài)因詩(shī)賢的博客-CSDN博客?MYSQL-主鍵索引與二級(jí)索引_mysql二級(jí)索引存在哪個(gè)文件_青苔小榭的博客-CSDN博客
? ? ?采用主鍵索引的好處:如果元素的位置發(fā)生修改,那么查找的復(fù)雜度沒(méi)有變化 因?yàn)橹皇歉鶕?jù)主鍵進(jìn)行查找
?缺點(diǎn):查找困難:如果想要尋找Abby這個(gè)人需要找到他的學(xué)號(hào)(主鍵)然后再通過(guò)Mysql的主索引找到所在的表項(xiàng) 然后找到相應(yīng)的地址 這樣就多了一次IO的翻譯。
二級(jí)索引的索引鍵不是主鍵
唯一索引
定義:
?反之 如果使用sdept創(chuàng)立 索引的話 他就不是唯一索引。
創(chuàng)建唯一索引:
Create unique INDEX 索引名 ON 關(guān)系(想要進(jìn)行唯一約束的屬性名);
外鍵索引
外鍵索引 主要的作用是加快參照完整性檢查和連接的速度。
- CASCADE:父表delete、update的時(shí)候,子表會(huì)delete、update掉關(guān)聯(lián)記錄;
- SET NULL:父表delete、update的時(shí)候,子表會(huì)將關(guān)聯(lián)記錄的外鍵字段所在列設(shè)為null,所以注意在設(shè)計(jì)子表時(shí)外鍵不能設(shè)為not null;
- RESTRICT:如果想要?jiǎng)h除父表的記錄時(shí),而在子表中有關(guān)聯(lián)該父表的記錄,則不允許刪除父表中的記錄;
- NO ACTION:同 RESTRICT,也是首先先檢查外鍵;
?級(jí)聯(lián)刪除的一個(gè)例子?
MySQL 聯(lián)級(jí)刪除(on delete cascade)應(yīng)用_cascade delete_淺然言而信的博客-CSDN博客
這是一個(gè)很好的例子也是一個(gè)比較特殊的例子? 自己和自己連接然后做級(jí)聯(lián)刪除的例子 級(jí)聯(lián)刪除的時(shí)候在外鍵聲明的時(shí)候一定要加上on delete cascade;否則當(dāng)刪除鍵的時(shí)候 被參照關(guān)系將違反參照完整性約束?。
外鍵索引不需要去創(chuàng)建只需要在索引的時(shí)候 去聲明foreign key就行
?刪除索引
文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-456605.html
?文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-456605.html
到了這里,關(guān)于數(shù)據(jù)庫(kù)索引結(jié)構(gòu)(1)概念的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!