范文健康探索娱乐情感热点
投稿投诉
热点动态
科技财经
情感日志
励志美文
娱乐时尚
游戏搞笑
探索旅游
历史星座
健康养生
美丽育儿
范文作文
教案论文

Java高频面试题每日三连问?Day7数据库篇

  问题导读
  一、哪些情况下索引会失效?
  二、说一下varchar与char的区别吧
  三、做过SQL优化吗?请举几个例子说明一下一、哪些情况下索引会失效?正经回答:
  1、在字段开头模糊查询
  如下:SELECT * FROM t WHERE username LIKE "%陈%"
  优化方式:尽量在字段后面使用模糊查询。SELECT * FROM t WHERE username LIKE "陈%"
  如果需求是要在前面使用模糊查询:使用MySQL内置函数INSTR(str,substr) 来匹配,作用类似于java中的indexOf(),查询字符串出现的角标位置,可参阅《MySQL模糊查询用法大全(正则、通配符、内置函数等)》使用FullText全文索引,用match against 检索数据量较大的情况,建议引用ElasticSearch、solr,亿级数据量检索速度秒级当表数据量较少(几千条儿那种),别整花里胡哨的,直接用like ‘%xx%’。
  2、使用 or
  如下:SELECT * FROM t WHERE id = 1 OR id = 3
  优化方式:可以用union代替or。如下:SELECT * FROM t WHERE id = 1    UNION SELECT * FROM t WHERE id = 3
  3、进行null值判断
  如下:SELECT * FROM t WHERE score IS NULL
  优化方式:可以给字段添加默认值0,对0值进行判断。如下:SELECT * FROM t WHERE score = 0
  分享一下,你的朋友可能正需要它!!!
  4、在where条件中=号的左侧进行表达式、函数操作
  可以将表达式、函数操作移动到等号右侧。如下:-- 全表扫描 SELECT * FROM T WHERE score/10 = 9 -- 走索引 SELECT * FROM T WHERE score = 10*9
  5、使用where 1=1的条件
  如下:SELECT username, age, sex FROM T WHERE 1=1
  优化方式:用代码拼装sql时进行判断,没 where 条件就去掉 where,有where条件就加 and。
  6、查询条件用 <> 或者 !=使用索引列作为条件进行查询时,需要避免使用<>或者!=等判断条件。  如确实业务需要,使用到不等于符号,需要在重新评估索引建立,避免在此字段上建立索引,改由查询条件中其他索引字段代替。
  7、where条件仅包含复合索引非前置列
  如下:复合(联合)索引包含key_part1,key_part2,key_part3三列,但SQL语句没有包含索引前置列"key_part1",按照MySQL联合索引的最左匹配原则,不会走联合索引。select col1 from table where key_part2=1 and key_part3=2
  8、隐式类型转换造成不使用索引
  如下SQL语句由于索引对列类型为varchar,但给定的值为数值,涉及隐式类型转换,造成不能正确走索引。select col1 from table where col_varchar=123;
  9、order by 条件要与where中条件一致,否则order by不会利用索引进行排序-- 不走age索引 SELECT * FROM t order by age; -- 走age索引 SELECT * FROM t where age > 0 order by age;
  对于上面的语句,数据库的处理顺序是:
  第一步:根据where条件和统计信息生成执行计划,得到数据。
  第二步:将得到的数据排序。当执行处理数据(order by)时,数据库会先查看第一步的执行计划,看order by 的字段是否在执行计划中利用了索引。如果是,则可以利用索引顺序而直接取得已经排好序的数据。如果不是,则重新进行排序操作。
  第三步:返回排序后的数据。
  当order by 中的字段出现在where条件中时,才会利用索引而不再二次排序,更准确的说,order by 中的字段在执行计划中利用了索引时,不用排序操作。
  这个结论不仅对order by有效,对其他需要排序的操作也有效。比如group by 、union 、distinct等。二、说一下varchar与char的区别吧正经回答:
  charchar表示定长字符串,长度是固定的;如果插入数据的长度小于char的固定长度时,则用空格填充;因为长度固定,所以存取速度要比varchar快很多,甚至能快50%,但正因为其长度固定,所以会占据多余的空间,是空间换时间的做法;对于char来说,最多能存放的字符个数为255,和编码无关
  varcharvarchar表示可变长字符串,长度是可变的;插入的数据是多长,就按照多长来存储;varchar在存取方面与char相反,它存取慢,因为长度不固定,但正因如此,不占据多余的空间,是时间换空间的做法;对于varchar来说,最多能存放的字符个数为65532三、做过SQL优化吗?几个请举例子说明一下正经回答:
  重复查询相同的数据:可以缓存数据,下次直接读取缓存
  一个复杂查询还是多个简单查询
  MySQL内部每秒能扫描内存中上百万行数据,相比之下,响应数据给客户端就要慢得多
  使用尽可能小的查询是好的,但是有时将一个大的查询分解为多个小的查询是很有必要的。
  切分查询
  将一个大的查询分为多个小的相同的查询
  一次性删除1000万的数据要比一次删除1万,暂停一会的方案更加损耗服务器开销。
  分解关联查询,让缓存的效率更高。
  UNION ALL的效率高于UNION
  每日小结今天我们复习了面试中常考的数据库三个问题,你做到心中有数了么?
  对了,**如果你的朋友也在准备面试,请将这个系列扔给他,如果他认真对待,肯定会感谢你的!!**好了,今天就到这里,学废了的同学,`记得三连,也会给我继续更新的动力。`

AGM重新发布了一款大哥大手机AGMM7,按键触屏三防不足600元当代的年轻人,拥有多个手机号情况太普遍了。很多人都喜欢,一部主力手机,一部备用手机。主力手机,用来玩游戏看视频工作等等,备用手机,一是可以防备主力机没有电,二是可以有一些私人空间,适合学生党的蓝牙耳机,蓝牙耳机性价比高的品牌如今的蓝牙无线耳机已经摆脱了以往听个响的尴尬的情况,无论是音质还是连接稳定性都有了质的飞跃。那么学生党如何挑选适合自己的蓝牙耳机呢?今天就推荐几款性价比高的平价蓝牙耳机,非常适合学8款TWS蓝牙耳机横向评测下1,000及以上价位组评测型号5。AppleAirPodsPro6。HUAWEIFreeBudsPro7。JBLT280TWSPRO8。BeoplayE83genTWS蓝牙耳塞评分标准AudioTOP音香百年智能香薰机众测活动以傲人战绩,完美收官今年6月,香百年获得HUAWEIHiLink认证证书正式接入HUAWEIHiLink生态圈7月26日华为商城上线香百年智能香薰机商城的上线也意味着香百年智能香薰机将与数以万计的华为亚马逊商业责任保险来啦!强制购买保险的合理性与保险问题首先简单的说说,这个保险是干啥子的,可能在国内,保险还不被所有人接受,但是在国外,基本人人都有保险,包含寿险,意外,医疗,财产等险种,这次亚马逊要求一些卖家购买保险,其实他不是第一企查查最强大脑强势研发客找找APP,掌上拓客精准触达日前,服务于广大B2B企业的专业智能销售SaaS产品客找找APPios版正式上线。作为我国商业查询行业知名企业企查查旗下的重磅SaaS产品之一,客找找依托于及时快速更新的全国海量企你真的需要小插座么?小玩意办大事,aigo迷你插座体验对于我这种在外租房漂泊的人来说,那出租房的床头柜插座永远是我心头之痛。或许是因为房子历史悠久,那传统的五孔插座永远不够用,可能是当时没有考虑到如今会有如此之多需要插电使用的设备。最华为HarmonyOS2再开启公测,花粉纷纷参与已升级,非常的流畅华为HarmonyOS2在6月份发布,短短2个月时间,升级用户已经超过5000万,足见花粉对华为HarmonyOS2投入的力量,在那么短的时间,对那么多机型和智能设备进行升级适配,三星发布EcoOLED屏透光率提升,功耗降低三星今天宣布,已成功开发出一种低功耗智能手机OLED面板,叫EcoOLED,主打超低功耗,比现有屏的功耗降低约25。据了解,面板采用阻挡外部光线反射的屏幕叠层结构,可替代显示屏核心随身wifi套餐价格表2021,随身wifi一年费用多少钱如今哪种上网模式最便宜稳定方便,不用说,肯定是随身wifi,随着人们对流量的需求,随身wifi便成为一种趋势,然而,随身wifi的价格一直是大家关注的焦点,今天我们就来了解不同的随广东省中医院互联网医院正式上线互联网创新赋能,打造互联网中医医联体图片说明广东省中医院互联网医院正式上线。家住广州天河的江小姐被月经不规律困扰已久,有时候还会因为情绪波动大影响了工作,之前有用中医药治疗一段时间
创纪录!三星集团发布未来三年的投资和雇佣计划,预计投资1。33万亿元央视财经(记者吕博慧)据韩国国际广播电台25日报道,三星集团发布了未来三年的投资和雇佣计划。三星集团预计未来三年将共投资240万亿韩元(约合人民币1。33万亿元),创史上最大规模。听损患者的聆听技巧都有哪些?1。耳到佩戴助听器后需要一个适应过程,患者必须重新学习辨别声音,重新适应有声世界2。眼到手到佩戴助听器聆听声音时可结合看口形和阅读文字听不懂的写下来,让别人放慢语速,多读几遍,直到蔚来汽车让位!中国造车新势力龙头易主,连续两个月夺得销冠过去一个月,国内汽车销量相对平稳,环比降幅好于预期。中国汽车工业协会公布的统计显示,今年前七个月,我国新能源汽车产销量分别为150。4万辆和147。8万辆,均超过去年同期创下新高。互联网运营简史(2)中国早期的商业模式是怎样?谁最早实现盈利中国互联网的商机开始出现任何私人企业以组织的出现,任何产品以企业推入市场都是要达到挣钱的目的,所以这些互联网企业也一样需要实现盈利,个人查阅资料能追溯到的互联网变现,发生在1998极致奢华!Caviar全新限定版华为Mate40Pro以奢华材料打造智能手机和配件闻名的俄罗斯品牌Caviar,近日推出了九天之上系列。为庆祝我国探月工程载人航天工程火星探测工程空间站突破,以及第一辆火星车祝融号成功降落火星,九天之上盘点国产手机的导航手势体验!双侧返回是亮点,单手党都默默点赞目前手机已经进入全面屏时代,用户日常用机习惯和用机小技巧都发生了很大变化。全面屏手机摈弃任何正面按键,手机系统也衍生出诸多用机导航方式。例如iPhone有经典的悬浮球功能,官方称之MacBook廉价扩容方案?闪迪至尊高速酷邃USB3。0闪存盘一百元不到的扩容方案我的生产力工具是MacBook,大家都知道MacBook的硬盘有多贵,如何科学扩容甚至成了一门必修的学问。我用MacBook随便剪个片子就几十G了,512G的容XilisoftiPadMagicPlatinum制作铃声?将联系人传输到计算机设备XilisoftiPadMagicPlatinumforMac可以将几乎所有主流的视频音频格式,包括AVIMPEGWMVDivXMP4H。264AVCAVCHDMKVRMMOVXvWave7Research全球缺芯正影响除苹果之外的所有手机制造商Wave7Research援引消息人士的话称困扰智能手机行业的组件与芯片短缺状况,正在影响除苹果之外的所有厂商。其在一份新报告中指出,供应短缺正在影响低成本的Android手机制造荣耀Magic3发布会上没有说的事(3)隐藏在荣耀手机里的国产芯片荣耀如果能够继承华为的衣钵,重新夺回高端手机市场,也不是什么不好的事!尤其是当我发现,荣耀在手机的主控芯片里面,并没有完全采用高通的全家桶,而是使用了部分国产芯片进行替代。这是eW聊聊笔记本电脑界的理财产品今年的笔电行业属于旱的旱死,涝的涝死。头部渠道手握货源,像中东卖石油的土豪一样牛气冲天。而渠道小商贩,只能和黄牛博弈,靠着各种关系拉点货来养家糊口。笔记本电脑曾经是个贬值产品,如今