黄色网址大全免费-黄色网址你懂得-黄色网址你懂的-黄色网址有那些-免费超爽视频-免费大片黄国产在线观看

MySQL數據庫概述及數據準備
MySQL數據庫常用命令
MySQL數據庫查看表結構
MySQL查詢字段
MySQL條件查詢
MySQL排序
MySQL函數
MySQL分組函數/聚合函數/多行處理函數
MySQL分組查詢
MySQL連接查詢
MySQL子查詢
MySQL UNION
MySQL中limit的用法
MySQL表
MySQL存儲引擎
MySQL事務
MySQL索引
MySQL視圖
MySQL DBA命令
MySQL數據庫設計的三大范式
MySQL數據庫練習題

MySQL索引

索引原理

索引被用來快速找出在一個列上用一特定值的行。沒有索引,MySQL不得不首先以第一條記錄開始,然后讀完整個表直到它找出相關的行。表越大,花費時間越多。對于一個有序字段,可以運用二分查找(Binary Search),這就是為什么性能能得到本質上的提高。MYISAM和INNODB都是用B+Tree作為索引結構。

(主鍵,unique 都會默認的添加索引)

索引的應用

1、創建索引

如果未使用索引,我們查詢 工資大于 1500的會執行全表掃描。

什么時候需要給字段添加索引:

● 表中該字段中的數據量龐大

● 經常被檢索,經常出現在where子句中的字段

● 經常被DML操作的字段不建議添加索引

索引等同于一本書的目錄

主鍵會自動添加索引,所以盡量根據主鍵查詢效率較高。

如經常根據sal進行查詢,并且遇到了性能瓶頸,首先查看程序是否存算法問題,再考慮對sal建立索引,建立索引如下:

● create unique index 索引名 on 表名(列名); 

create unique index u_ename on emp(ename);

● alter table 表名 add unique index 索引名 (列名); 

create index test_index on emp (sal);

2、查看索引

show index from emp;

3、使用索引

注意一定不可以用select * … 可以看到type!=all了,說明使用了索引

explain select sal from emp where sal > 1500;

條件中的sal使用了索引

如下圖:假如我們要查找sal大于1500的所有行,那么可以掃描索引,索引時排序的,結果得出7行,我們知道不會再有匹配的記錄,可以退出了。如果查找一個值,它在索引表中某個中間點以前不會出現,那么也有找到其第一個匹配索引項的定位算法,而不用進行表的順序掃描(如二分查找法)這樣,可以快速定位到第一個匹配的值,以節省大量搜索時間。數據庫利用了各種各樣的快速定位索引值的技術,通常這些技術都屬于DBA的工作。

4、刪除索引

DROP INDEX index_name ON talbe_name
ALTER TABLE table_name DROP INDEX index_name
ALTER TABLE table_name DROP PRIMARY KEY
其中,前兩條語句是等價的,刪除掉table_name中的索引index_name。
第3條語句只在刪除PRIMARY KEY索引時使用,因為一個表只可能有一個PRIMARY KEY索引, 
mysql> ALTER TABLE EMP DROP INDEX test_index;

刪除后就不再使用索引了,查詢會執行全表掃描。

全部教程
主站蜘蛛池模板: 曰皮全部过程免费视频 | 天堂在线国产 | 国产1024观看免费视频 | 做性视频 | 中国女人三级在线播放 | 殴美一级视频 | 欧美洲视频在线观看 | 国产黄色免费看 | 天天色综合3 | 最新中文字幕在线观看 | 免费视频淫片aa毛片 | 曰批免费视频播放在线看片一 | 亚洲成人激情小说 | 欧美 国产 日本 | 天天操夜夜欢 | 夜鲁夜鲁夜鲁在线观看福利 | 色汉综合 | 欧美日韩亚洲国内综合网俺 | a毛片免费观看完整 | 日韩日b视频 | 亚洲人成片在线观看 | video欧美| 欧美理论影院在线观看免费 | 日本一道本视频 | 亚洲乱人伦精品图片 | 国产三级一区二区 | 亚洲一区在线免费观看 | 五月激情六月婷婷 | 亚洲七七久久综合桃花 | www.日韩三级| 在线观看成人影院 | 91精品免费视频 | 午夜影院色 | 国产高清视频青青青在线 | 男女猛烈无遮挡性视频 | 成人合集大片bd高清在线观看 | 国产特级全黄一级毛片不卡 | 久久综合九色综合网站 | 18岁禁免费网站 | 日日夜夜国产 | 午夜爽爽爽视频 |