GaryLee's Blog
如何进行分库分表?会带来什么问题? 如何进行分库分表?会带来什么问题?
一、为什么要进行分库分表?分库分表的目的是为了解决单表过大、单库表过多的问题,具体可参考文章(《如何进行SQL调优?》) 二、什么情况下需要进行分库分表?以下几种情况可以考虑分库分表: 单表数据量达到千万级别(读写性能差) 数据库中内存占
2023-11-27
MySQL中一条SQL的执行过程是怎样的? MySQL中一条SQL的执行过程是怎样的?
一、SQL的执行过程 执行SQL语句: select * from student A where age = 18 and name = 'Gary'; 步骤如下: 通过客户端/服务器通信协议与MySQL建立连接,并查询是否有权限 My
2023-09-11
InnoDB和MyISAM有什么区别? InnoDB和MyISAM有什么区别?
一、InnoDB和MyISAM有什么区别?InnoDB和MyISAM都是MySQL的存储引擎,MySQL在5.5之前默认使用MyISAM作为存储引擎,5.5之后默认使用InnoDB作为存储引擎,它们的区别主要是以下几点: InnoD
2023-09-05
limit 1000000,0加载很慢如何优化? limit 1000000,0加载很慢如何优化?
一、问题分析在MySQL中,limit ${offset},${row}表示查询前面offset+row条记录,然后抛弃前offset条记录,读取后row条记录,所以offset越大,偏移量越大,查询性能也就越差 二、优化方案 优化前:se
2023-08-20
如何排查慢SQL问题? 如何排查慢SQL问题?
一、如何发现慢SQL问题?慢SQL指的是数据库中查询时间超过指定阈值的SQL,比如阈值设置为1s,那么说明如果一条SQL执行时间超过1s,则认为这是一条慢SQL 通常在实际开发中,如果有成熟的监控体系的话,那么会自动把慢SQL统计出来,并通
2023-08-19
如何进行SQL调优? 如何进行SQL调优?
一、为什么需要进行SQL调优?错误的使用SQL,可能会带来慢SQL查询等,影响查询性能 二、分析原因 索引失效 多表join 数据量太大 查询数据太多 表结构不合理 … 三、SQL优化方案 索引失效:可以通过执行计划分析是否走了索引,以及
2023-08-19
MySQL执行计划分析 MySQL执行计划分析
一、执行计划字段介绍+----+-------------+-------+------------+-------+---------------+----------+---------+------+------+----------
2023-08-18
什么是回表,怎么减少回表的次数? 什么是回表,怎么减少回表的次数?
一、什么是回表?不了解什么是聚簇索引和非聚簇索引的小伙伴可以先看下《什么是聚簇索引和非聚簇索引?》 什么是回表呢?当我们要查询数据的时候,如果是通过主键ID查询,那么直接会在聚簇索引查询,而如果是通过其他索引查询,就会先通过非聚簇索引查询拿
2023-08-17
什么是聚簇索引和非聚簇索引? 什么是聚簇索引和非聚簇索引?
一、什么是聚簇索引和非聚簇索引?聚簇索引(Clustered Index):即主键索引,叶子节点存放了数据节点非聚簇索引(Non-clustered Index):即除了主键的其他索引(也叫做二级索引),叶子节点存放了索引节点 二、聚簇索引
2023-08-17
如何排查MySQL索引失效的问题? 如何排查MySQL索引失效的问题?
一、索引失效分析MySQL索引失效是一个比较常见的问题,这种情况一般会在发生慢SQL时需要考虑是否存在索引失效的问题 一般MySQL索引失效的原因有: 索引列参与计算:如… where a + 1 = 2 对索引列进行函数操作:如… wh
2023-08-15
MySQL锁 MySQL锁
一、介绍MySQL的锁主要为: 全局锁 表锁 行锁 二、全局锁全局锁分为: 读锁(共享锁):允许别人读取数据,不允许更新数据 写锁(排它锁):不允许别人读取和更新数据 使用场景:进行一些需要确保整个数据库一致性的操作,例如全库备份、
2023-07-06
MySQL索引 MySQL索引
一、面试题1、MySQL索引的优点和缺点是什么?MySQL的InnoDB用B+树结构来实现索引和数据的存储优点: B+树是平衡树,用来存储数据,可以大大减少数据检索时的磁盘IO次数,从而提升数据查询的性能 B+树索引在进行范围查找时更快,
2023-07-03
1 / 2