MySQL數(shù)據(jù)庫給表添加索引的實現(xiàn)
說明:當數(shù)據(jù)庫中的記錄數(shù)過多時,查詢速度會顯著變慢。此時可以給表創(chuàng)建索引,提高查詢速度。
一、創(chuàng)建索引前
我現(xiàn)在有一張表,有1000萬條記錄,根據(jù)username值,查詢一條記錄,測試下查詢時間;
select id, username, password, sex, email from user where username='zhangsan5000025';

查詢時間:25s 695ms

二、創(chuàng)建索引
(1)創(chuàng)建索引:給user表的username字段,添加索引,索引名為username_index,此過程會花費較長的時間(相較于查詢);
create index username_index on user(username);

(2)查看索引:查看user表的索引;
show index from user;

(3)刪除索引:刪除user表的username_index索引;
drop index username_index on user;
三、創(chuàng)建索引后
創(chuàng)建索引后,再試下查詢時間,可以看到查詢速度有顯著提升
select id, username, password, sex, email from user where username='zhangsan5000025';
查詢時間:73ms

總結
需要知道以下這些:
(1)MySQL的索引,底層是用B+Tree實現(xiàn)的;
(2)索引并不是加的越多越好,添加索引會增加數(shù)據(jù)所占的空間,所以通常給查詢頻繁的字段添加索引;
(未使用索引的數(shù)據(jù)大?。?/p>

(加索引后的數(shù)據(jù)大?。?/p>

(3)MySQL中,表的主鍵、唯一約束是自動生成的索引(其實也好理解,不建立索引,數(shù)據(jù)庫怎么能在添加數(shù)據(jù)時,立刻檢索到我們添加的數(shù)據(jù)是否唯一呢?);
到此這篇關于MySQL數(shù)據(jù)庫給表添加索引的實現(xiàn)的文章就介紹到這了,更多相關MySQL 表添加索引內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
解析MySQL數(shù)據(jù)庫性能優(yōu)化的六大技巧
本篇文章是對MySQL數(shù)據(jù)庫性能優(yōu)化的六大技巧進行了詳細的分析介紹,需要的朋友參考下2013-06-06
探討:sql插入空,默認1900-01-01 00:00:00.000的解決方法詳解
本篇文章是對sql插入空,默認1900-01-01 00:00:00.000的解決方法進行了詳細的分析介紹,需要的朋友參考下2013-06-06
mysql初始化命令mysqld?--initialize參數(shù)說明小結
本文主要介紹了mysql初始化命令mysqld?--initialize參數(shù)說明小結,文中通過圖表代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2024-08-08

