专栏电商日志财经减肥爱情
投稿投诉
爱情常识
搭配分娩
减肥两性
孕期塑形
财经教案
论文美文
日志体育
养生学堂
电商科学
头戴业界
专栏星座
用品音乐

MySQL函数索引及优化

  很多开发人员在使用MySQL时经常会在部分列上进行函数计算等,导致无法走索引,在数据量大的时候,查询效率低下。针对此种情况本文从MySQL5。7及MySQL8。0中分别进行不同方式的优化。1、MySQL5。7
  MySQL5。7版本中不支持函数索引,因此遇到函数索引的时候需要进行修改,否则即使查询的字段上有索引,执行时也无法使用索引而进行全表扫描,数据量大的表查询时间会比较长。具体案例如下:1。1创建测试表及数据
  mysqlusetestdb;Databasechangedmysqlcreatetabletbfunction(idintprimarykeyautoincrement,namevarchar(100),createtimedatetime);QueryOK,0rowsaffected(0。01sec)mysqlinsertintotbfunction(name,creatEtime)values(anniuadaOAIFAPUHIA,2020070112:00:00);QueryOK,1rowaffected(0。02sec)mysqlinsertintotbfunction(name,creatEtime)values(CWQSsar3qcssg,2020070115:00:00);QueryOK,1rowaffected(0。01sec)mysqlinsertintotbfunction(name,creatEtime)values(vxfqrt2adafz,2020070121:30:00);QueryOK,1rowaffected(0。01sec)mysqlinsertintotbfunction(name,creatEtime)values(etxzwrwbdhegqgaheqhag,2020070201:30:00);QueryOK,1rowaffected(0。01sec)mysqlinsertintotbfunction(name,creatEtime)values(awrs433fsgvsfwtwg,2020070203:30:00);QueryOK,1rowaffected(0。00sec)mysqlinsertintotbfunction(name,creatEtime)values(awrs433fsgvsfwtwg,2020070207:32:00);QueryOK,1rowaffected(0。00sec)mysqlinsertintotbfunction(name,creatEtime)values(awrs433fsgvsfwtwg,2020070210:32:00);QueryOK,1rowaffected(0。00sec)mysqlinsertintotbfunction(name,creatEtime)values(tuilklmdadq,2020070215:32:00);QueryOK,1rowaffected(0。00sec)mysqlinsertintotbfunction(name,creatEtime)values(wesv2wqdshehq,2020070220:32:00);QueryOK,1rowaffected(0。00sec)mysqlinsertintotbfunction(name,creatEtime)values(89yoijnlkwr1,2020070302:56:00);QueryOK,1rowaffected(0。00sec)mysqlinsertintotbfunction(name,creatEtime)values(olj;nsaaq,2020070308:41:00);QueryOK,1rowaffected(0。01sec)mysqlinsertintotbfunction(name,creatEtime)values(ygo;jkdsaq,2020070316:20:00);QueryOK,1rowaffected(0。01sec)mysqlselectfromtbfunction;idnamecreatetime1anniuadaOAIFAPUHIA2020070112:00:002CWQSsar3qcssg2020070115:00:003vxfqrt2adafz2020070121:30:004etxzwrwbdhegqgaheqhag2020070201:30:005awrs433fsgvsfwtwg2020070203:30:006awrs433fsgvsfwtwg2020070207:32:007awrs433fsgvsfwtwg2020070210:32:008tuilklmdadq2020070215:32:009wesv2wqdshehq2020070220:32:001089yoijnlkwr12020070302:56:0011olj;nsaaq2020070308:41:0012ygo;jkdsaq2020070316:20:0012rowsinset(0。00sec)
  1。2创建索引
  在createtime字段上创建索引mysqlaltertabletbfunctionaddkeyidxcreatetime(createtime);QueryOK,0rowsaffected(0。13sec)Records:0Duplicates:0Warnings:01。3按时间查询
  查询创建时间是20200701那天的所有记录
  mysqlselectfromtbfunctionwheredate(createtime)20200701;idnamecreatetime1anniuadaOAIFAPUHIA2020070112:00:002CWQSsar3qcssg2020070115:00:003vxfqrt2adafz2020070121:30:003rowsinset(0。00sec)
  执行计划如下:
  mysqlexplainselectfromtbfunctionwheredate(createtime)20200701;idselecttypetablepartitionstypepossiblekeyskeykeylenrefrowsfilteredExtra1SIMPLEtbfunctionNULLALLNULLNULLNULLNULL12100。00Usingwhere1rowinset,1warning(0。00sec)
  执行计划中可以看出是进行了全面扫描1。4优化
  因MySQL5。7不支持函数索引,所以需要修改SQL写法来实现走索引(或者使用虚拟列的方式),上述SQL可以修改为
  mysqlselectfromtbfunctionwherecreatetime20200701andcreatetimedateadd(20200701,INTERVAL1day);idnamecreatetime1anniuadaOAIFAPUHIA2020070112:00:002CWQSsar3qcssg2020070115:00:003vxfqrt2adafz2020070121:30:003rowsinset(0。00sec)
  执行计划如下:
  mysqlexplainselectfromtbfunctionwherecreatetime20200701andcreatetimedateadd(20200701,INTERVAL1day);idselecttypetablepartitionstypepossiblekeyskeykeylenrefrowsfilteredExtra1SIMPLEtbfunctionNULLrangeidxcreatetimeidxcreatetime6NULL3100。00Usingindexcondition1rowinset,1warning(0。00sec)
  可见,修改后,使用了索引。2、MySQL8。0
  MySQL8。0的索引特性增加了函数索引。其实MySQL5。7中推出了虚拟列的功能,而MySQL8。0的函数索引也是依据虚拟列来实现的。将上述的案例在MySQL8。0中实现情况如下文所述。2。1创建函数索引
  在将上述的表及数据在MySQL8。0的实例上创建,然后创建createtime的函数索引,SQL如下mysqlaltertabletbfunctionaddkeyidxcreatetime((date(createtime)));注意里面字段的括号QueryOK,0rowsaffected(0。10sec)Records:0Duplicates:0Warnings:02。2按时间查询
  mysqlselectfromtbfunctionwheredate(createtime)20200701;idnamecreatetime1anniuadaOAIFAPUHIA2020070112:00:002CWQSsar3qcssg2020070115:00:003vxfqrt2adafz2020070121:30:003rowsinset(0。00sec)
  执行计划如下
  mysqlexplainselectfromtbfunctionwheredate(createtime)20200701;idselecttypetablepartitionstypepossiblekeyskeykeylenrefrowsfilteredExtra1SIMPLEtbfunctionNULLrefidxcreatetimeidxcreatetime4const3100。00NULL1rowinset,1warning(0。00sec)
  可见,在MySQL8。0创建对应的函数索引后,不改变SQL写法的前提下,查询的列上进行对应的函数计算后也可以走索引。
  关于MySQL函数索引的优化及MySQL8。0函数索引还可以有更多的场景进行测试,建议大家多动手试试,提高SQL改写及优化的能力。
  想了解更多内容或参与技术交流可以关注微信公众号【数据库干货铺】或进技术交流群沟通。

循着川端康成的足迹,去伊豆泡温泉,赏日本本州最早的樱吹雪!2023年2月9日,日本气象株式会社发布了第3次樱花预报,根据预测,东日本和北日本地区的开花时间会略早于往年,而西日本则会略晚于往年。樱花最前线是以日本全国樱花开花日划出来的日线图雪豹重返三江源在三江源国家公园生态环境的持续改善正在改变雪豹的命运与此同时生态环境的守护者们他们的命运也在发生着改变2月22日,更求曲朋在昂赛大峡谷里巡护途中拍照。海拔4600米!记者的智能手表势头向好,定制旅游供应商转型进军大众市场随着出境游重启,国际航线陆续复航,旅游市场迎来全面复苏。二三月份进入踏春出游的最佳时节,预计上半年到五一黄金周,整体旅游市场体量逐步恢复到疫情前同期的5070。旅游行业发展势头向好外游大量涌入2023年第1季度泰国象岛旅游收入有望达30亿铢!据泰媒消息,近日,泰国国家旅游局(TAT)达叻府办事处主任帕萨玲女士透露,自2022年末至2023年2月,达叻府旅游业一直在不断复苏,尤其是象岛阁骨岛麦岛等知名旅游景点。2023年雪润松岭美景天成踏雪而行。李林摄(人民视觉)山花烂漫(资料照片)。李林摄(人民视觉)早春,吉林省白山市松岭雪村一派北国风光。新的一年,从一片雪白开始。白雪覆盖田野山岗,仿佛一幅画卷。吉林省地处世界总投资超539亿!兰州新区41个重点项目全球招商原标题人报甘头条总投资超539亿!兰州新区41个重点项目全球招商近日,兰州新区筛选出2023年概算总投资539。58亿元的41个重点招商引资项目,面向全球进行招商。据了解,项目涉及西藏拉萨年味满春意浓中国西藏网讯藏历新年期间,西藏拉萨布达拉宫脚下的宗角禄康公园可谓年味满春意浓。立春后,冰雪融化草木返春,公园里花朵绽放。市民游客也趁着假期在宗角禄康公园里观看藏戏表演和非物质文化遗王安石为何爱骑驴政治家王安石王安石,字介甫,是北宋时期著名的政治家改革家思想家文学家。他的变法家喻户晓近千年来众说纷纭他是唐宋八大家之一,留下不少名垂千古的诗文佳作。这样一位人物却与毛驴有着不解之爱国的霍老,一个值得所有人敬佩的香港商人!霍英东很多人都认识香港霍英东老先生,都知道他是一个爱国商人,但是你们以为在那个年代爱国容易吗?所受到的挑战是常人不可以做到的!在1950年代初,国际对东方实施了禁运,我们国家联系了炎黄子孙身上有三大标志,你若是有,那便是纯正华夏后裔炎黄子孙一个中国人的代名词,炎黄二字分别指代炎帝和黄帝。在上下五千年的文化传承之中,我们常常被告知我们的祖先便是炎帝和黄帝,而众多的书籍之中对此均有记载。而历经时代的变迁,多次的民中国足球为什么落后于世界?洋帅一语道破是因为抗战打了八年现在其实已经更正,抗日战争实际上是打了14年,以前是从77事变开始算,现在是从918开始算,这个我个人的观点是泽莫算都不妨碍也改变不了日本帝国之一最终被全世界反法西斯同盟打败,无条
家电卖不动了,美的集团要跨界汽车?近日,家电巨头美的集团在汽车行业有了大动作。1月6日,美的威灵汽车部件安庆新能源汽车零部件基地一期正式投产。这个威灵汽车部件是美的进攻汽车零部件的主要抓手,专攻热管理电驱动和底盘等涨!涨!涨!记者获悉受国际金价上涨的影响目前福州市场上黄金及黄金制品的价格比两个月前上涨不少部分金饰品价格比两个月前上涨了两三千元部分黄金饰品。资料图过年买黄金花费增加还真不少这个金饰品我两个浙股十大熊股出炉!你踩坑了吗?前篇讲到浙江十大牛股带股民赚了一票,那么牛市的繁荣,相对应的就会有熊市的落寞。2022年,还有十只浙股惨遭市场蹂躏,合计跌去675。83!其中迦南科技春晖智控跌幅均超过70,位列2金融机构扎堆亮相金博会,持续擦亮首善福田名片视频加载中福田金博会1月9日至11日,由深圳市人民政府主办,深圳市贸促委深圳市地方金融监督管理局等单位承办的第十六届深圳国际金融博览会(简称金博会),在深圳会展中心(福田)1号馆举20。76亿元资金今日流入非银金融股沪指1月9日上涨0。58,申万所属行业中,今日上涨的有28个,涨幅居前的行业为有色金属食品饮料,涨幅为2。872。04。非银金融行业位居今日涨幅榜第三。跌幅居前的行业为国防军工房地数字政府大数据管理中心大数据资源平台大数据能力平台方案原文为PPT格式,来源网络,旨在交流学习,如有侵权,联系速删,更多参考公众号优享智库数字政府大数据资源平台目标体系规划数字政府大数据资源平台目标体系规划建设目标与思路建设目标与思路新能源车的换电生意,还会再死一次吗?原创首发金角财经(IDFJinjiao)作者梦清防疫优化满月之际,广州车展恢复举办。对各家车企来说,虽然参展时间上仓促了一些,但由于之前成都车展的取消,又恰逢岁末年终非常需要关注热豪赌葬送后半生!诈骗百亿的上海滩金融大佬,倒在了P2P上戴志康本人说作为一个产业,一个生意,(房地产)对我而言已经不重要了。这个行业太拥挤了,不需要这么多公司。到底是肺腑之言,还是蛇吞象失败之后的无奈,没人知道。文金融八卦女作者胡扒依投英飞拓两年亏损21亿,可股价大涨300,这是什么情况?两年亏损21个亿,可股价大涨300,再缩量跌停,4。6万散户干着急!有一只股票连续两年出现亏损,在前一个年度亏损14。35亿基础之上,在2022年的预告之中,预计亏损6到8亿元,取六十万亿的债务怎么还赛道股逆风翻盘抱歉,昨天的文章没过审核。周末最热烈的消息应该是山东某地(shouguangshi)公务员贷款借给城投公司,以及由此引出了60万亿地方债的讨论。一些半公开的秘密慢慢走进群众的生活,A股3个重要消息落地,明天,行情并不简单本周的A股,以迅雷不及掩耳之势,连战连胜,豪取五连阳,让市场进入了沸腾状态。股票方面,个股经常是大面积上涨,大量的个股开始复苏,股市收到了新年红包,露出了开心的笑容。基金这边,核心
友情链接:快好找快生活快百科快传网中准网文好找聚热点快软网