日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

mysql索引查2遍_mysql索引优化查询

發布時間:2025/3/20 21 豆豆
生活随笔 收集整理的這篇文章主要介紹了 mysql索引查2遍_mysql索引优化查询 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一:mysql的引擎簡介。

1、ISAM:查找速度快,不支持事物,如果硬盤崩潰則無法恢復。

2、MyISAM:是ISAM的擴展,在web中用的很多,讀取速度快,,不支持事物。

3、InnoDB:InnoDB:支持事物,但是速度比ISAM和MyISAM慢,穩定可靠性高

查看當前數據庫默認引擎,可以看到本人用的是InnoDB;

二:mysql索引簡介

1、普通索引

創建和刪除

create index index_myIndex_name on myIndex(name(5));

drop index index_myIndex_name on myIndex;

name(5)標示若那么字段過長則可以,將字段全部拿出來做索引很浪費空間,此處拿出該字段的前5個字符作為索引,那么這個5的數字怎么確定呢?

此處標示name的前五個字符的辨識度達到99.54%,前四個只有85.30。這里我們選擇前五個字符來創建作為索引。此類索引也可以稱之為前綴索引

2、唯一索引

索引列的值必須唯一,但允許空值。

create unique index indexName on myIndex(username(lenght))

3、主鍵索引

主鍵索引mysql默認都會創建,若數據庫引擎用的是InnoDB,則若無特許情況請用mysql的自增的id作為主鍵。因為InnoDB引擎的數據存儲是根據主鍵分頁存儲,若用自增的id作為主鍵可以按順序往下自動存儲,否則在存儲時為了保證page結構會有不斷的插入移動操作,導致消耗數據庫性能。

4、組合索引

create index unindex_myIndex_age_info on myIndex(age, info(5));

組合遵循前綴規則,如上創建的age,info的組合索引,則實際上的是【age】,【age,info】這兩對組合索引,我們觀察到沒有【info】這個組合索引,這就是組合索引的前綴規則。如果我們建的是age,info,name這三個的組合索引則實際上創建的是【age】,【age,info】,【age,info,name】這三組組合索引。

組合索引的應用場景:如果你經常用到age或者【age,info】這樣的條件來查詢,則組合索引比單列索引效率更優。若你只是大部分情況都是單獨以age和info作為查詢條件則可選擇單列索引效果更好。但需要注意的是這里的條件是and語句,or語句是不會用到索引的(某些情況下mysql的執行優化會將其轉化為union all語句則可以用到兩個單列索引)。如果or語句的條件一個有索引另一個無索引則肯定會全表查詢。

三:mysql用索引來優化sql查找使用注意點

在進行測試之前首先關閉mysql的查詢緩存

set?session?query_cache_type=off;

查看該表所有的索引

1、不要在列上使用函數或計算:

以上兩條sql得到的效果一樣但是效率差距巨大,因為上面的那個是age/2=12,這里進行的是全表掃描,下面的使用了索引。

2、在使用多條件查找時,and語句時候盡量使用組合索引。

查看該表的所有索引可以看到【age,info】是一組組合索引,age,name分別有一個單列索引,下面我們來試驗:

這是組合索引的查找速率。

這是兩個單列索引的查找速率。可以看到明顯在這種情況下組合索引效率要高。

下面我們用explain關鍵字

上面可以看到前者的rows10656后者則為140,rows表示該sql遍歷的函數,越少越好。很明顯后者要少很多。再看用到的索引key關鍵字,前者用到的是unindex_myIndex_age_info,后者也是。但是我們前面說到了【age,info】這組索引實際上是創建了【age】,【age,info】這兩組索引。前者的條件為age=12*2 and name like ‘k%’,前者等價于用到的是組合索引的【age】單列索引。而后者的條件是age =12*2 and info like ‘k%’用的是組合索引【age,info】這個組合索引故而速度要快很多。

有人會疑惑為什么age=12*2 and name like 'k%'沒有條用name的索引,通過前面我們能看到我也為name創建了單列索引了的。答案是:mysql對一個select語句只會選擇一個它認為最優的一個索引。從上面的例子也能看出來這點。但是or語句會有執行引擎將其優化成union all,會用到兩個索引,這里下面再講。

3、or語句的列都要使用單列索引,如果有一列沒有索引就是全表查詢。

其實這點很好理解,or語句如果每列都有索引的話mysql執行優化會將其轉化為union all語句(因為我們前面說過每個select語句只能選擇一個索引執行,索引要轉為union all這樣就能用到多個索引),這樣就會執行索引。但是如果其中一列沒有索引則這列也就需要全表掃描,既然是全表掃描,其他列的索引也就無用了,mysql也就不會執行優化將其改成union all因為這樣做一點用都沒有,反正都要全表掃描。

4、like語句不要將通配符%放在最前面

先看看效果差別

效率差距是巨大的,like語句通配符%在最前面,sql查詢時候會放棄索引,進行全表掃描。

5、索引不會包含有NULL值的列

只要列中包含有NULL值都將不會被包含在索引中,復合索引中只要有一列含有NULL值,那么這一列對于此復合索引就是無效的。所以我們在數據庫設計時不要讓字段的默認值為NULL。

6、使用短索引

對串列進行索引,如果可能應該指定一個前綴長度。例如,如果有一個CHAR(255)的列,如果在前10個或20個字符內,多數值是惟一的,那么就不要對整個列進行索引。短索引不僅可以提高查詢速度而且可以節省磁盤空間和I/O操作。

四:使用索引的

索引可用但不是處處可用,在使用索引時候我們需要評估是否需要。

首先數據量比較小的情況我們不需要使用索引,創建索引是需要消耗硬盤資源的。

組合條件查詢多要用組合索引。

如果一列數據量太大比如這里的info varchar(1000)可以用短索引。

主鍵用自增的id作為索引。

總結

以上是生活随笔為你收集整理的mysql索引查2遍_mysql索引优化查询的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 日本网站黄色 | 一区二区视频免费 | 嫩草研究院在线 | 精品人伦一区二区三 | 欧美性教育视频 | 午夜之声l性8电台lx8电台 | 日韩欧美黄色 | 在线观看免费高清在线观看 | 播色屋 | 欧洲性生活视频 | 色呦呦一区二区三区 | 亚洲视频中文字幕 | 欧美激情免费视频 | 天天干,夜夜爽 | 国产一区视频观看 | 亚洲视频你懂的 | 午夜寂寞剧场 | 亚州av网 | 视色网站 | 蜜臀精品一区二区三区 | 欧美视频在线观看免费 | 国产精品成人免费精品自在线观看 | 欧美一区二区三区粗大 | 天天躁夜夜躁 | 污污在线免费观看 | 精品播放 | 成人免费午夜 | 中文在线一区二区三区 | 成人深夜福利 | 日本加勒比一区二区 | 又大又长粗又爽又黄少妇视频 | 殴美黄色大片 | 91久久久久久久久久久 | 欧美sm凌虐视频网站 | 日韩黄色三级视频 | 日本色妞| 午夜国产一级 | 日本一二三区不卡 | 亚洲色图p| 国产精品视频免费在线观看 | 免费无遮挡无码永久视频 | 天天插天天透 | 欧美爽爽| 爱搞国产| 久久久久久久久久久久久久av | 无码aⅴ精品一区二区三区 精品久久在线 | 久久久久久久一 | 成年人在线免费观看 | 国产欧美日韩综合精品一区 | 四虎精品一区 | 欧美久久一区二区 | 操大爷影院 | 欧美在线xxx | 欧美爱爱一区二区 | 色婷婷综合久久久久中文一区二区 | 久久久综合视频 | 亚洲精品中文字幕乱码三区 | 中文字幕第八页 | 91福利在线视频 | 国产美女又黄又爽又色视频免费 | www.九色| 色多多视频在线 | 麻豆久久久午夜一区二区 | 女人又爽又黄免费女仆 | 鲍鱼av在线 | 激情久久av| 高清无码视频直接看 | 中文字幕不卡一区 | 天堂在线视频免费观看 | 在线播放av网址 | 欧美在线不卡视频 | 成年免费视频 | 国产伦精品一区二区三区免费视频 | 国产精品主播在线 | 青娱乐国产在线 | 91麻豆网站 | 手机在线一区 | 精品国产一二三四区 | 日韩欧美一级大片 | 久久久久久国产精品免费播放 | 国产成人精品一区二三区四区五区 | 中文自拍 | 亚洲色图28p | 精品国产乱码久久久久久影片 | 靠逼网站在线观看 | 91麻豆映画传媒 | 99精品欧美一区二区蜜桃免费 | 不卡av免费在线观看 | 日批视频免费播放 | 中文字幕有码在线播放 | 69精品一区二区三区 | 亚洲色妞| 黄页网站视频在线观看 | 国产伦精品 | 久久精品一区二区免费播放 | 91中文字幕在线观看 | 久久精品女人毛片国产 | 黄色小视频国产 | 日韩小视频在线观看 |