电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

您的位置:首頁技術文章
文章詳情頁

mysql優化之like和=性能詳析

瀏覽:19日期:2023-10-12 10:05:44

引言

那使用過數據庫的人大部分都知道,like和=號在功能上的相同點和不同點,那我在這里簡單的總結下:

1,不同點:like可以用作模糊查詢,而’=’不支持此功能;如下面的例子,查詢info表中字段id第一個字母為1的數據:

select * from info where id like ’1%’;

2,相同點:like和'='都可以進行精確查詢,

比如下面的例子,從結果上看,都是查詢info表中字段id等于’12345’的結果:

select * from info where id like ’12345’;

以上就是返回結果中,like和’=’中的相同和不同點。那好奇的小伙伴可能就要問了,那執行過程呢?mysql不管是遇到like還是’=’時的執行過程也都是一樣的么?

沒錯,事情不能只看表面,如果你細心研究,就會發現其實like和等于號’=’并不是那么簡單,下面我們將詳細的分析他們兩者的真正區別~~~

正文

首先,我們來介紹一下mysql中的explain關鍵字;explain是執行計劃的意思,即通過該命令查看這條sql是如何執行的。使用方法也很簡單,即explain + sql語句,例如:

explain select * from info where id like ’12345’;

那我們來使用explain測試一下like和=下的查詢情況,首先我們來測試一下為索引的字段:

EXPLAIN SELECT * FROM crms_customer WHERE id = ’7cf79d7c8a3a4f94b5373b3ec392e32d’;

mysql優化之like和=性能詳析

而現在我們把'='換成like試一下:

EXPLAIN SELECT * FROM crms_customer WHERE id LIKE ’7cf79d7c8a3a4f94b5373b3ec392e32d’;

mysql優化之like和=性能詳析

小伙伴通過對比可以看到兩條返回結果的type字段和Extra字段中的數據有所不同,那為什么不同,他們所代表的含義是什么呢?

type字段

type字段是一個可選值,這些值的性能從低到高的排序如下:

type 說明 SYSTEM 系統,表僅有一行(=系統表)。這是const聯接類型的一個特例 CONST 常量,表最多有一個匹配行,因為僅有一行,在這行的列值可被優化器剩余部分認為是常數,const表很快,因為它們只讀取一次 EQ_REF 搜索時使用primary key 或 unique類型 REF 根據索引查找一個或多個值 INDEX_MERGE 合并索引,使用多個單列索引搜索 RANGE 對索引列進行范圍查找 index 全索引表掃描 ALL 全數據表掃描

根據表格可以明顯看出,其中const是常量查找,而RANGE是對索引列進行范圍查找,所以性能也就很明顯的體現了出來。

那使用like查詢時,Extra字段代表什么呢?Extra字段中的Using where,又代表什么?

Extra字段

1,Extra字段是Explain輸出中也很重要的列,所代表著MySQL查詢優化器執行查詢的過程中對查詢計劃的重要補充信息。

2,Extra字段中的Using where意味著mysql服務器將在存儲引擎檢索行后再進行過濾。所以比起使用使用’=’又多了一步查找過程。

顯然通過以上的總結我們可以得出結論:當我們使用索引字段進行條件查詢時,’=’的性能要比like快。

是不是以為到這里就結束了呢?

然而并沒有

有的小伙伴該問了那非索引字段呢?

對的,我們下面繼續測試非索引字段

EXPLAIN SELECT * FROM crms_customer WHERE customer_name = ’張飛’;----------------------------------- EXPLAIN SELECT * FROM crms_customer WHERE customer_name LIKE ’張飛’;

除了'='和like同樣的兩條語句,讓我們運行一下:'=':

mysql優化之like和=性能詳析

like:

mysql優化之like和=性能詳析

可以看出當非索引字段時like和'='是一樣的,性能上也沒有差別。

(當然,explain中還有很多其他字段,后續我會一一給小伙伴們講解的。)

結論

經過我們的不懈努力,可以得到結論:當like和'='在使用非索引字段查詢時,他們的性能是一樣的;而在使用索引字段時,由于'='是直接命中索引的,只讀取一次,而like需要進行范圍查詢,所以'='要比like性能好一些。~~~~

到此這篇關于mysql優化之like和=性能的文章就介紹到這了,更多相關mysql like和=性能內容請搜索好吧啦網以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持好吧啦網!

標簽: MySQL 數據庫
相關文章:
主站蜘蛛池模板: 没斑啦-专业的祛斑美白嫩肤知识网站-去斑经验分享 | 浙江工业冷却塔-菱电冷却塔厂家 - 浙江菱电冷却设备有限公司 | 多米诺-多米诺世界纪录团队-多米诺世界-多米诺团队培训-多米诺公关活动-多米诺创意广告-多米诺大型表演-多米诺专业赛事 | 防渗膜厂家|养殖防渗膜|水产养殖防渗膜-泰安佳路通工程材料有限公司 | 理化生实验室设备,吊装实验室设备,顶装实验室设备,实验室成套设备厂家,校园功能室设备,智慧书法教室方案 - 东莞市惠森教学设备有限公司 | 南京技嘉环保科技有限公司-杀菌除臭剂|污水|垃圾|厕所|橡胶厂|化工厂|铸造厂除臭剂 | 【德信自动化】点胶机_全自动点胶机_自动点胶机厂家_塑料热压机_自动螺丝机-深圳市德信自动化设备有限公司 | 食品机械专用传感器-落料放大器-低价接近开关-菲德自控技术(天津)有限公司 | 汽车润滑油厂家-机油/润滑油代理-高性能机油-领驰慧润滑科技(河北)有限公司 | 多米诺-多米诺世界纪录团队-多米诺世界-多米诺团队培训-多米诺公关活动-多米诺创意广告-多米诺大型表演-多米诺专业赛事 | 快干水泥|桥梁伸缩缝止水胶|伸缩缝装置生产厂家-广东广航交通科技有限公司 | IWIS链条代理-ALPS耦合透镜-硅烷预处理剂-上海顶楚电子有限公司 lcd条形屏-液晶长条屏-户外广告屏-条形智能显示屏-深圳市条形智能电子有限公司 | 螺钉式热电偶_便携式温度传感器_压簧式热电偶|无锡联泰仪表有限公司|首页 | AGV叉车|无人叉车|AGV智能叉车|AGV搬运车-江西丹巴赫机器人股份有限公司 | 驾驶人在线_专业学车门户网站| 地源热泵一体机,地源热泵厂家-淄博汇能环保设备有限公司 | 磁力抛光机_磁力研磨机_磁力去毛刺机-冠古设备厂家|维修|租赁【官网】 | 智能案卷柜_卷宗柜_钥匙柜_文件流转柜_装备柜_浙江福源智能科技有限公司 | 炒货机-炒菜机-炒酱机-炒米机@霍氏机械 | 耙式干燥机_真空耙式干燥机厂家-无锡鹏茂化工装备有限公司 | 美国查特CHART MVE液氮罐_查特杜瓦瓶_制造全球品质液氮罐 | 钛合金标准件-钛合金螺丝-钛管件-钛合金棒-钛合金板-钛合金锻件-宝鸡远航钛业有限公司 | 耐火砖厂家,异形耐火砖-山东瑞耐耐火材料厂| 学校用栓剂模,玻璃瓶轧盖钳,小型安瓿熔封机,实验室安瓿熔封机-长沙中亚制药设备有限公司 | 真空泵维修保养,普发,阿尔卡特,荏原,卡西亚玛,莱宝,爱德华干式螺杆真空泵维修-东莞比其尔真空机电设备有限公司 | 体坛网_体坛+_体坛周报新闻客户端 | 帽子厂家_帽子工厂_帽子定做_义乌帽厂_帽厂_制帽厂_帽子厂_浙江高普制帽厂 | 电磁流量计厂家_涡街流量计厂家_热式气体流量计-青天伟业仪器仪表有限公司 | 南京欧陆电气股份有限公司-风力发电机官网 | 抖音短视频运营_企业网站建设_网络推广_全网自媒体营销-东莞市凌天信息科技有限公司 | 喷涂流水线,涂装流水线,喷漆流水线-山东天意设备科技有限公司 | 槽钢冲孔机,槽钢三面冲,带钢冲孔机-山东兴田阳光智能装备股份有限公司 | 散热器-电子散热器-型材散热器-电源散热片-镇江新区宏图电子散热片厂家 | 12cr1mov无缝钢管切割-15crmog无缝钢管切割-40cr无缝钢管切割-42crmo无缝钢管切割-Q345B无缝钢管切割-45#无缝钢管切割 - 聊城宽达钢管有限公司 | 圣才学习网-考研考证学习平台,提供万种考研考证电子书、题库、视频课程等考试资料 | 汽车整车综合环境舱_军标砂尘_盐雾试验室试验箱-无锡苏南试验设备有限公司 | 河南正规膏药生产厂家-膏药贴牌-膏药代加工-修康药业集团官网 | 全屋整木定制-橱柜,家具定制-四川峨眉山龙马木业有限公司 | 温州在线网| 铣刨料沥青破碎机-沥青再生料设备-RAP热再生混合料破碎筛分设备 -江苏锡宝重工 | 威海防火彩钢板,威海岩棉复合板,威海彩钢瓦-文登区九龙岩棉复合板厂 |