MySQL數據庫給表添加索引的實現
說明:當數據庫中的記錄數過多時,查詢速度會顯著變慢。此時可以給表創(chuàng)建索引,提高查詢速度。
一、創(chuàng)建索引前
我現在有一張表,有1000萬條記錄,根據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實現的;
(2)索引并不是加的越多越好,添加索引會增加數據所占的空間,所以通常給查詢頻繁的字段添加索引;
(未使用索引的數據大?。?/p>
(加索引后的數據大?。?/p>
(3)MySQL中,表的主鍵、唯一約束是自動生成的索引(其實也好理解,不建立索引,數據庫怎么能在添加數據時,立刻檢索到我們添加的數據是否唯一呢?);
到此這篇關于MySQL數據庫給表添加索引的實現的文章就介紹到這了,更多相關MySQL 表添加索引內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
PostgreSQL USAGE和SELECT權限案例深入分析
這篇文章主要介紹了PostgreSQL USAGE和SELECT權限案例深入分析,因為項目需求,需要學習PostgreSQL,本人之前學習過MYSQL,臨時快速上手,盡快的去學習項目需要PostgREST2023-04-04