您好,登錄后才能下訂單哦!
下文我給大家簡單講講關于使用mysql索引的操作方法,大家之前了解過相關類似主題內容嗎?感興趣的話就一起來看看這篇文章吧,相信看完使用mysql索引的操作方法對大家多少有點幫助吧。
mysql索引的目的在于提高查詢效率,可以類比字典,如果要查“mysql”這個單詞,我們肯定需要定位到m字母,然后從下往下找到y字母,再找到剩下的sql。如果沒有索引,那么你可能需要把所有單詞看一遍才能找到你想要的。
在創建索引時,需要考慮哪些列會用于 SQL 查詢,然后為這些列創建一個或多個索引。事實上,索引也是一種表,保存著主鍵或索引字段,以及一個能將每個記錄指向實際表的指針。數據庫用戶是看不到索引的,它們只是用來加速查詢的。數據庫搜索引擎使用索引來快速定位記錄。
mysql有四種索引(主鍵索引/普通索引/全文索引/唯一索引)
1.索引的添加
1.1主鍵索引的添加
當一張表,把某個列設為主鍵的時候,則該列就是主鍵索引
create table a( id int primary key auto_increment, name varchar(20) not null default '' ); //這里id就是表的主鍵
如果當創建表時沒有指定主鍵索引,也可以在創建表之后添加:
alter table table_name add primary key (column name);
1.2普通索引
普通索引一般是在建表后再添加的,
create index 索引名 on table_name(column1,column2); alter table table_name add index 索引名(column1,column2);
1.3全文索引
首先,全文索引主要針對文本文件,比如文章,標題,全文索引只有MyISAM有效(mysql5.6之后InnoDB也支持了全文索引)
create table c( id int primary key auto_increment , title varchar(20), content text, fulltext(title,content) )engine=myisam charset utf8; insert into c(title,content) values ('MySQL Tutorial','DBMS stands for DataBase ...'), ('How To Use MySQL Well','After you went through a ...'), ('Optimizing MySQL','In this tutorial we will show ...'), ('1001 MySQL Tricks','1. Never run mysqld as root. 2. ...'), ('MySQL vs. YourSQL','In the following database comparison ...'), ('MySQL Security','When configured properly, MySQL ...');
使用全文索引常見的錯誤:
select * from c where content like "%mysql%";
這里并不會使用全文索引,可以用explain進行查看。正確用法:
select * from c where match(title,content) against ('MYSQL');
備注:
1. 在mysql中fulltext 索引只針對 myisam生效
2. mysql自己提供的fulltext針對英文生效->sphinx(coreseek)技術處理中文
3. 使用方法是 match(字段名..) against(‘關鍵字’)
1.4唯一索引
create table d(id int primary key auto_increment , name varchar(32) unique)
d表中name就是唯一索引,唯一索引可以有多個null,不能是重復的內容
相比主鍵索引,主鍵字段不能為null,也不能重復
2. 查詢索引
show indexes from table_name; show keys from table_name;
3.刪除索引
alter table table_name drop index 索引名;
大家覺得使用mysql索引的操作方法這篇文章怎么樣,是否有所收獲。如果想要了解更多相關,可以繼續關注我們的行業資訊板塊。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。