您好,登錄后才能下訂單哦!
本文主要給大家介紹快速入門MySQL數(shù)據(jù)庫索引的基礎(chǔ)知識,文章內(nèi)容都是筆者用心摘選和編輯的,具有一定的針對性,對大家的參考意義還是比較大的,下面跟筆者一起了解下快速入門MySQL數(shù)據(jù)庫索引的基礎(chǔ)知識吧。
------------------------索引的概念----------------------------
⑴數(shù)據(jù)庫中的索引與書籍中的目錄類似
在一本書,無須閱讀整本書,利用目錄就可以快速查找所需信息
書中的目錄是一個詞語列表,其中著名了包含個此的頁碼
⑵數(shù)據(jù)庫索引
在數(shù)據(jù)庫中,索引使數(shù)據(jù)庫程序無須對整個表進行掃描,就可以在其中找到所需數(shù)據(jù)
數(shù)據(jù)庫中的索引是某一個表中一列或者若干列值的集合,以及物理標識這些值的數(shù)據(jù)頁的邏輯指針清單
優(yōu)點:加快查詢速度、檢索速度,可以準確的定位,不需要全篇去找
-------------------------索引的作用------------------------
⑴設(shè)置了合適的索引之后,數(shù)據(jù)庫利用各種快速的定位技術(shù),能夠大大加快查詢速率
⑵特別是當表很大時,或者查詢設(shè)計到多表時,使用索引可使查詢加快千倍
⑶可以降低數(shù)據(jù)庫的IO(輸入輸出)成本,并且索引還可以降低數(shù)據(jù)庫的排序成本
(讀的時候會消耗內(nèi)存)
⑷通過創(chuàng)建唯一性索引保證數(shù)據(jù)表數(shù)據(jù)的唯一性
⑸可以加快表與表之間的連接(可以把相關(guān)的字段當做一個索引)
⑹在使用分組的排序時,可大大減少分組和排序時間
----------------------索引的分類--------------------------
⑴普通索引
這是最基本的索引類型,而且它沒有唯一性之類的限制
⑵唯一性索引
這種索引和前面"普通索引"基本相同,但有一個區(qū)別:索引列的所有值都只能出現(xiàn)一次,即必須唯一
⑶主鍵
這是一種唯一性索引,但它必須指定為"PRIMARY KEY"
⑷全文索引
MySQL3.23.23版開始支持全文索引和全文檢索。在MySQL中,全文索引的索引類型為FULLTEXT,全文索引可以再VARCHAR或者TEXT類型的列上創(chuàng)建
------------------創(chuàng)建索引的原則依據(jù)-----------------
⑴表的主鍵、外鍵必須有索引
⑵數(shù)據(jù)量超過300行的表應(yīng)該有索引
⑶經(jīng)常與其他表進行連接的表,在連接字段上應(yīng)該建立索引
⑷唯一性太差的字段不適合建立索引(重復(fù)性大,大眾化,重復(fù)很多)
⑸更新太頻繁地字段不適合創(chuàng)建索引
⑹經(jīng)常出現(xiàn)在where子句中的字段,特別是大表的字段,應(yīng)該建立索引
⑺索引應(yīng)該建在選擇性高的字段上
⑻索引應(yīng)該建在小字段上,對于大的文本字段甚至超長字段,不要建索引
-----------------創(chuàng)建索引的方法--------------------
根據(jù)企業(yè)需求選擇了合適的索引之后,可使用CREATE INDEX創(chuàng)建索引
CREATE INDEX加上各個索引關(guān)鍵字便可創(chuàng)建各個類型的索引
PS:首先需要進入數(shù)據(jù)庫
⑴創(chuàng)建普通索引
語法結(jié)構(gòu):create index (索引的名字)on tablename (列的列表)
舉例:
mysql> create index salary_index on IT_salary(薪資); #創(chuàng)建IT_salary 的索引(默認普通索引),索引名稱為salary_index
mysql> show index from IT_salary; #從IT_index數(shù)據(jù)表中,查看索引
⑵創(chuàng)建唯一性索引
語法結(jié)構(gòu):create unique index (索引名字)on tablename (表的名字)
舉例:
mysql> create unique index salary_unique on IT_salary(姓名); #創(chuàng)建IT_salary 的唯一索引,索引名稱為salary_unique
mysql> show index from IT_salary; #從IT_index數(shù)據(jù)表中,查看索引
⑶創(chuàng)建主鍵索引,有兩種方式,一種實在創(chuàng)建表的同時創(chuàng)建主鍵,主鍵索引自動創(chuàng)建,
命令格式:
create table tablename([…],primary ke(表的名字)); #創(chuàng)建表的時候,添加了主鍵,也就是自動創(chuàng)建了
alter table tablename add primary key(列的列表); #創(chuàng)建之后忘記添加主鍵,用此種方法
附加:
更改表結(jié)構(gòu)
添加表 主鍵,命令格式:alter table <表名> add primary key(id);
1.增加一個列:
alter table info add column age int;
#更改表 info 增加 列 年齡 類型;
2.刪除一個列:
alter table info drop column age;
#更改表 info 刪除 列 年齡;
主鍵索引例子
mysql> alter table IT_salary add primary key(員工ID);
⑷索引查看
show index from tablename;
show keys from tablename;
查看索引例子
mysql> show index from IT_salary;
mysql> show keys from IT_salary;
看完以上關(guān)于快速入門MySQL數(shù)據(jù)庫索引的基礎(chǔ)知識,很多讀者朋友肯定多少有一定的了解,如需獲取更多的行業(yè)知識信息 ,可以持續(xù)關(guān)注我們的行業(yè)資訊欄目的。
免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。