说几条 MySQL 对 SQL 的执行做的优化手段 1、对 SQL 语句的优化MySQL 会对我们的 SQL 语句做重写,包括条件化简, 比如常量传递、除没用的条件等等;还会将一些外连接转换为内连接,然后选择 成本最低的方式执行;对 IN 子查询会进行物化、物化表转连接查询、转换为半连接等方式进行。 2、在 SQL 语句的执行过程中,MySQL 引入了索引条件下推。比如 where 后面的多个搜
常见数据库面试题一.在项目中如何定位慢查询通过 druid 连接池的内置监控来定位慢 SQL。通过 MySQL 的慢查询日志查看慢 SQL。通过 show processlist,查看当前数据库 SQL 执行情况来定位慢 SQL。二.如何查看sql语句索引命中情况在 SQL 语句前加上 explain,结果中的 key 就是实际用到的索引三.说说数据库锁表的场景和解决方法产生场景锁表通常发生在 D
转载 2024-08-14 11:59:41
47阅读
1.SQL优化1.1如何定位及优化SQL语句的性能问题对于低性能的SQL语句的定位,最重要也是最有效的办法就是使用执行计划,MySQL提供了explain命令来查看语句的执行计划 执行计划一般包含下面几个字段的信息:id:表示一个查询中各个子查询的执行顺序,id相同则执行顺序由上至下,id不同,id值越大优先级越高,越先被执行,id为null时表示一个结果集,不需要使用它查询,常出现在union等
转载 2023-08-10 11:04:47
74阅读
一、EXPLAIN做MySQL优化,我们要善用 EXPLAIN 查看SQL执行计划。下面来个简单的示例,标注(1,2,3,4,5)我们要重点关注的数据type列,连接类型。一个好的sql语句至少要达到range级别。杜绝出现all级别key列,使用到的索引名。如果没有选择索引,值是NULL。可以采取强制索引方式key_len列,索引长度rows列,扫描行数。该值是个预估值extra列,详细说明。注
面试题 MYSQL 数据库优化的描述 在现代企业应用中,MySQL 数据库扮演着至关重要的角色。随着数据量的急剧增长和用户访问的频繁变化,数据库性能的瓶颈经常成为阻碍业务发展的关键因素。本篇博文将基于一个真实的用户场景,深入分析 MySQL 数据库优化的问题,涵盖错误现象、根因分析、解决方案及预防措施,力图为优化过程提供全面的指导。 用户场景还原 假设一家互联网公司拥有一个高流量的电商平台,
原创 5月前
15阅读
数据库优化四个维度        硬件升级        系统配置        表结构设计        sql语句及索引优化选择        优化成本:硬件升级 > 系统配置 > 表
MySQL 数据库面试题一、SQL 语句1. 查询一个班级里,分数排名的前三位同学的名字和分数。二、MySQL 索引1. 索引是用来干什么的?2. 索引的优缺点3. 索引的适用场合4. MySQL 背后的数据结构三、MySQL 事务1. 事务的基本特性2. 并发事务所产生的问题3. MySQL中事务的隔离级别 一、SQL 语句SQL 语句的使用需要慢慢积累,遇到不同的场景使用不同的 SQL,积累
面试1)问题:数据库中最常见的慢查询优化方式是什么?回答:加索引2)问题:为什么加索引能优化慢查询?回答:因为索引是一种优化查询的数据结构,比如MySQL中的索引是B+树实现的,而B+树就是一种数据结构,可以优化查询速度,可以利用索引快速查找数据,所以能优化查询!3)你知道哪些数据结构可以提高查询速度?回答:哈希表、完全平衡二叉搜索树、B树、B+树等等;4)那这些数据结构既然都能优化查询速度,那M
1.​有没有做过数据库优化的事情?查找、定位慢查询,并优化创建索引:创建合适的索引提高查询速度分表:当一张表的数据比较多或者一张表的某些字段的值比较多并且使用时改用水平分表和垂直分表来优化读写分离(集群):当一台服务器不能满足需要时,采用读写分离的方式进行集群缓存:使用redis来进行缓存2.数据库优化的读写分离一台数据库支持的最大并发连接数是有限的,如果用户并发访问太多,一台服务器满足不了要求可以集群处理。而Mysql集群处理技术最常用的就是读写分离。主从同步数据库最终回吧数据持久化到磁
原创 2021-09-04 15:23:59
4410阅读
一面1. 二叉搜索树和平衡二叉树有什么关系,强平衡二叉树(AVL 树)和弱平衡二叉树2. B 树和 B+树的区别,为什么 MySQL 要使用 B+树3. HashMap 如何解决 Hash 冲突4. epoll 和 poll 的区别,及其应用场景5. 简述线程池原理,FixedThreadPool 用的阻塞队列是什么?6. sychronized 和 ReentrantLock 的区别7. syc
【每日一问】如何实现数据库优化?要解决数据库优化问题,可以从表结构优化、sql优化和索引优化三个方面考虑一、表结构优化首先,在业务场景合适的情况下,我们可以尽量更小的数据类型存储数据。为了减少连表查询,我们还可以适当添加冗余字段。也可以在表的一些字段上建立索引,优先考虑where、order by、group by使用到的字段。但是要考虑到索引失效的问题。还有就是建立的索引不宜过多,过多的索引
二十六:MySQL的复制原理以及流程 主从复制:将主数据库中的DDL和DML操作通过二进制日志(BINLOG)传输到从数据库上,然后将这些日志重新执行(重做);从而使得从数据库数据与主数据库保持一致。主从复制的作用 1)主数据库出现问题,可以切换到从数据库。 2)可以进行数据库层面的读写分离。 3)可以在从数据库上进行日常备份。MySQL主从复制解决的问题 1)数据分布:随意开始或停止复制,并在
转载 2023-07-28 16:59:26
151阅读
数据库基础知识一:为什么要使用数据库数据保存在内存优点: 存取速度快 缺点: 数据不能永久保存数据保存在文件优点: 数据永久保存 缺点:1)速度比内存操作慢,频繁的IO操作。 2)查询数据不方便数据保存在数据库1)数据永久保存 2)使用SQL语句,查询方便效率高。 3)管理数据方便二:什么是SQL?结构化查询语言(Structured Query Language)简称SQL,是一种数据库查询语言
什么是最左前缀原则?什么是最左匹配原则1)顾名思义,就是最左优先,在创建多列索引时,要根据业务需求,where子句中使用最频繁的一列放在最左边。 2)最左前缀匹配原则,非常重要的原则,mysql会一直向右匹配直到遇到范围查询(>、<、between、like)就停止匹配,比如 a = 1 and b = 2 and c > 3 and d = 4 如果建立(a,b,c,d)顺序的
Mysql数据库1、简单阐述数据库索引?2、什么是事务?3、事务有几大特性?分别是什么?4、简述一下数据库的事务隔离?5、什么是主键索引?6、数据库排序的两关键字是什么?7、char 和 varchar 的区别是什么?8、说一下MySQL常用的存储引擎?9、一张自增表里面总共有 7 条数据,删除了最后 2 条数据,重启 MySQL 数据库,又插入了一条数据,此时 id 是几?10、MySQL
性价比如上图,我们针对数据库优化优先级大致如下:高:从SQL优化、索引优化入手,优化慢SQL、利用好索引,是重中之重;中:SQL优化之后,是对数据表结构设计、横纵分表分库,对数据量级的处理;低:通过修改数据库系统配置,最大化里用服务器内存等资源;低:通过以上方式还不行,那就是服务器资源瓶颈了,加机器。优化成本:硬件 > 系统配置 > 数据库表结构 > SQL及索引。优化效果:硬
候选人:这个我们主要参考的阿里出的那个开发手册《嵩山版》,就比如,在定义字段的时候需要结合字段的内容来选择合适的类型
原创 2023-08-29 10:06:30
56阅读
一、EXPLAIN做MySQL优化,我们要善用EXPLAIN查看SQL执行计划。下面来个简单的示例,标注(1,2,3,4,5)我们要重点关注的数据select_type表示SELECT的类型,常见的取值有:SIMPLE:简单表,不使用表连接或子查询。PRIMARY:主查询,即外层的查询。UNION:UNION中的第二个或者后面的查询语句。SUBQUERY:子查询中的第一个。type 表示
为什么要优化系统的吞吐量瓶颈往往出现在数据库的访问速度上随着应用程序的运行,数据库的中的数据会越来越多,处理时间会相应变慢数据是存放在磁盘上的,读写速度无法和内存相比优化原则:减少系统瓶颈,减少资源占用,增加系统的反应速度。数据库结构优化一个好的数据库设计方案对于数据库的性能往往会起到事半功倍的效果。需要考虑数据冗余、查询和更新的速度、字段的数据类型是否合理等多方面的内容。将字段很多的表分解成多个表对于字段较多的表,如果有些字段的使用频率很低,可以将这些字段分离出来形成新表。
原创 2021-12-24 16:48:34
193阅读
为什么要优化系统的吞吐量瓶颈往往出现在数据库的访问速度上随着应用程序的运
原创 2022-03-03 16:36:18
131阅读
  • 1
  • 2
  • 3
  • 4
  • 5