sql性能优化的相关面试专题

这篇具有很好参考价值的文章主要介绍了sql性能优化的相关面试专题。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1.比如,现在有个面试官说,现在线上有个SQL执行很慢,你怎么优化?

这种时候最好分几步回答,不要一上来就说,该怎么怎么写SQL,面试时要学会,跳出来,看全貌,装进去,看本质。

2.慢 SQL 语句的几种常见诱因?

在这个时候,就可以说,面试官,您好,我觉得SQL慢出现的原因可以分为以下几种,切记,不要回答自己模糊不清的,没法自圆其说的即使知道你也别回答,不然就是给自己挖坑。。。

  • 无索引、索引失效导致慢查询

如果表很大,而对where或者order by 后面字段没有建立索引,那这种情况查起来肯定很费力。但是有时候建立了索引,但在一些特定的场景下,索引还有可能会失效,所以索引失效也是导致慢查询的主要原因之一。失效场景很多,比如模糊查询白分号在前、查询的字段使用了函数或者做了计算操作都有可能导致索引失效。

  • 锁等待

InnoDB 存储引擎支持行锁和表锁,我们要注意行锁升级为表锁的可能。在批量更新操作时,行锁就很可能会升级为表锁。MySQL 认为如果对一张表使用大量行锁,会导致事务执行效率下降,从而可能造成其它事务长时间锁等待和更多的锁冲突问题发生,致使性能严重下降,所以 MySQL 会将行锁升级为表锁。还有,行锁是基于索引加的锁,如果我们在更新操作时,条件索引失效,那么行锁也会升级为表锁。除了锁升级之外,行锁相对表锁来说,虽然粒度更细,并发能力提升了,但也带来了新的问题,那就是死锁。文章来源地址https://www.toymoban.com/news/detail-663804.html

    到了这里,关于sql性能优化的相关面试专题的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

    本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

    领支付宝红包 赞助服务器费用

    相关文章

    • MySQL面试题-性能优化

      目录 1.MySQL的优化可以从哪些方面考虑? 2.索引优化有哪些建议 3.如何优化sql的性能 4.大数据量(超100万行)的批量写(UPDATE、DELETE、INSERT)操作会导致什么问题 5.MySQL修改大表的表结构会出现什么问题 1.索引优化 索引是加速数据库查询的关键。在设计表结构时,应该根据查

      2024年02月08日
      浏览(39)
    • MySQL查询性能优化——SQL优化(四)

        目录 1、批量插入数据 1.1 linux环境下 1.1.1 开启文件读取 1.1.2 load数据 1.2 windows环境下 2、order by优化 2.1 最左前缀 3、group by 3.1 最左前缀 4、count优化 5、or条件优化   在上一期说到索引的使用,这期来聊一下SQL优化,也是平常写SQL的时候常用到的。 在前几期也有聊到过批量插

      2024年02月19日
      浏览(59)
    • unity面试题(性能优化篇)

      预处理、缓存数据 注释空的unity函数 运算cpu-gpu 减少昂贵计算(开方) 限制帧数 加载(预加载、分帧加载、异步加载、对象池) 慎用可空类型比较 避免频繁计算(分帧、隔帧) 算法优化 变体收集预热 使用clear操作代替容器的new操作 unity spine使用二进制格式 品质分级 多线程、协程

      2024年02月09日
      浏览(39)
    • SQL性能优化-索引

      1)索引失效 索引分为单索、复合索引。 四种创建索引方式 create index index_name on user (name); create index index_name_2 on user(id,name,email); 2)查询语句较烂 3)关联查询太多join,sql设计不合理 4)服务器问题。 explain可以模拟优化器执行 SQL 查询语句,从而知道 MySQL 是如何处理

      2024年01月21日
      浏览(47)
    • SQL 语句性能优化策略

      1、对查询进行优化,应尽量避免全表扫描,首先应考虑在 WHERE 及 ORDER BY 涉及的列上建立索引。 2、应尽量避免在 WHERE 子句中对字段进行 NULL 值判断,创建表时 NULL 是默认值,但大多数时候应该使用 NOT NULL,或者使用一个特殊的值,如 0,-1 作为默认值。 3、应尽量避免在 W

      2024年02月02日
      浏览(39)
    • 【慢SQL性能优化】 一条SQL的生命周期

      一张简单的图说明下,MySQL架构有哪些组件和组建间关系,接下来给大家用SQL语句分析 例如如下SQL语句 其中 name 为索引,我们按照 时间顺序 来分析一下 客户端:如MySQL命令行工具、Navicat、DBeaver或其他应用程序发送SQL查询到MySQL服务器。 连接器:负责与客户端建立连接、管

      2024年02月05日
      浏览(41)
    • MySQL 面试题合集(性能优化篇)

      🎈每日定期分享 | 面试求职经验 | 个人成长 开篇寄语 面试不必死记硬背, 带着GPT去面试简直降维打击!   为您推荐一款颠覆性的GPT面试助手软件:“会议面试精灵”。这款工具能够实时分析语音内容、智能识别面试问题并生成精准答案,让您轻松应对八股文题目,从容处

      2024年02月20日
      浏览(33)
    • PL/SQL的性能优化

      PL/SQL的性能优化是提高数据库应用程序性能的关键。通过优化SQL查询、优化PL/SQL代码、进行数据库设计和索引优化,以及使用性能调优工具和技术,可以显著提升应用程序的响应速度和吞吐量。 SQL查询是数据库应用程序性能的关键因素之一。以下是一些常用的SQL优化技巧:

      2024年03月24日
      浏览(39)
    • 干货!SQL性能优化,书写高质量SQL语句

      https://www.cnblogs.com/deepalley/p/12154000.html 写SQL语句的时候我们往往关注的是SQL的执行结果,但是是否真的关注了SQL的执行效率,是否注意了SQL的写法规范? 以下的干货分享是在实际开发过程中总结的,希望对大家有所帮助! 1. limit分页优化 当偏移量特别大时,limit效率会非常低

      2024年02月05日
      浏览(76)
    • 前端面试题---模块化和性能优化

      模块化是一种将程序代码划分为独立、可复用的模块的开发方法。它能够提高代码的可维护性、可复用性和可扩展性,使得代码更易于组织、调试和协作。 常见的模块化方案包括: AMD(Asynchronous Module Definition):AMD是一种异步加载模块的规范,主要用于浏览器环境。它使用

      2024年02月10日
      浏览(50)

    觉得文章有用就打赏一下文章作者

    支付宝扫一扫打赏

    博客赞助

    微信扫一扫打赏

    请作者喝杯咖啡吧~博客赞助

    支付宝扫一扫领取红包,优惠每天领

    二维码1

    领取红包

    二维码2

    领红包