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