随笔分类 -  数据库

联合索引、索引下推
摘要:1、 覆盖索引:如果查询条件使用的是普通索引(或是联合索引的最左原则字段),查询结果是联合索引的字段或是主键,不用回表操作,直接返回结果,减少IO磁盘读写读取正行数据 2、最左前缀:联合索引的最左 N 个字段,也可以是字符串索引的最左 M 个字符 3、联合索引:根据创建联合索引的顺序,以最左原则进行 阅读全文

posted @ 2021-06-19 19:27 wsw_seu 阅读(421) 评论(0) 推荐(0) 编辑

sql update语句相关问题
摘要:1. redo log的概念是什么? 为什么会存在. 1. redo log是重做日志。主要用于MySQL异常重启后的一种数据恢复手段,确保了数据的一致性。归根到底是MySQL为了实现WAL机制的一种手段。因为MySQL进行更新操作,为了能够快速响应,所以采用了异步写回磁盘的技术,写入内存后就返回。 阅读全文

posted @ 2021-06-16 19:36 wsw_seu 阅读(100) 评论(0) 推荐(0) 编辑

SQL注入常见解决方式(转)
摘要:前言 在一个公共的分页功能中,排序字段作为入参,前端页面可以自定义。在分页sql的mybatis mapper.xml中,order by字段后面使用$符号动态接收计算后的排序参数,这样可以实现动态排序的功能。 但是,如果入参传入: id; select 1 -- 最终执行的sql会变成: sele 阅读全文

posted @ 2021-04-19 19:47 wsw_seu 阅读(1286) 评论(0) 推荐(1) 编辑

Sql注入基础原理介绍(转)
摘要:一、Sql 注入漏洞详解 1.1 Sql 注入产生原因及威胁: 当我们访问动态网页时, Web 服务器会向数据访问层发起 Sql 查询请求,如果权限验证通过就会执行 Sql 语句。这种网站内部直接发送的Sql请求一般不会有危险,但实际情况是很多时候需要结合用户的输入数据动态构造 Sql 语句,如果用 阅读全文

posted @ 2021-04-19 19:43 wsw_seu 阅读(485) 评论(0) 推荐(0) 编辑

redis分布式锁
摘要:一、分布式锁的实现有哪些? 基本要求 实现一个分布式锁定, 我们至少要考虑它能满足一下的这些需求: 互斥, 就是要在任何的时刻, 同一个锁只能够有一个客户端用户锁定. 不会死锁, 就算持有锁的客户端在持有期间崩溃了, 但是也不会影响后续的客户端加锁 谁加锁谁解锁, 很好理解, 加锁和解锁的必须是同一 阅读全文

posted @ 2020-09-17 20:01 wsw_seu 阅读(192) 评论(0) 推荐(0) 编辑

innodb中的锁
摘要:一、锁的对象 InnoDb的行级锁是基于索引实现的,即枷锁的对象是索引而非具体数据。当加操作使用聚集索引时 ,Innodb会锁住聚集索引;而使用非聚集索引时,innodb会先锁住非主键索引,再锁定非聚集索引锁对应的聚集索引。 行级锁的加锁条件必须有对应的索引项,否则会退化为表级锁。 二、共享锁 共享 阅读全文

posted @ 2020-09-15 20:12 wsw_seu 阅读(290) 评论(1) 推荐(0) 编辑

Mysql分区、分表、分库
摘要:1、MySQL分区 一般情况下我们创建的表对应一组存储文件,使用MyISAM存储引擎时是一个.MYI和.MYD文件,使用Innodb存储引擎时是一个.ibd和.frm(表结构)文件。 当数据量较大时(一般千万条记录级别以上),MySQL的性能就会开始下降,这时我们就需要将数据分散到多组存储文件,保证 阅读全文

posted @ 2020-09-08 19:59 wsw_seu 阅读(311) 评论(0) 推荐(0) 编辑

MYSQL事务
摘要:一、事务的基本概念 事务是由一组SQL语句组成的逻辑处理单元,具有4个属性,通常简称为事务的ACID属性。 A (Atomicity) 原子性:整个事务中的所有操作,要么全部完成,要么全部不完成,不可能停滞在中间某个环节。事务在执行过程中发生错误,会被回滚(Rollback)到事务开始前的状态,就像 阅读全文

posted @ 2020-09-07 10:13 wsw_seu 阅读(211) 评论(0) 推荐(0) 编辑

覆盖索引
摘要:覆盖索引(Covering Index),或者叫索引覆盖, 也就是平时所说的不需要回表操作 就是select的数据列只用从索引中就能够取得,不必读取数据行,MySQL可以利用索引返回select列表中的字段,而不必根据索引再次读取数据文件,换句话说查询列要被所建的索引覆盖。 索引是高效找到行的一个方 阅读全文

posted @ 2020-08-28 16:29 wsw_seu 阅读(935) 评论(0) 推荐(0) 编辑

MySQL索引结构之Hash索引、full-text全文索引(面)
摘要:Hash索引 主要就是通过Hash算法(常见的Hash算法有直接定址法、平方取中法、折叠法、除数取余法、随机数法),将数据库字段数据转换成定长的Hash值,与这条数据的行指针一并存入Hash表的对应位置;如果发生Hash碰撞(两个不同关键字的Hash值相同),则在对应Hash键下以链表形式存储。 检 阅读全文

posted @ 2020-08-28 16:04 wsw_seu 阅读(1120) 评论(0) 推荐(0) 编辑

MySQL索引结构之B+树索引(面)
摘要:首先要明白索引(index)是在存储引擎(storage engine)层面实现的,而不是server层面。不是所有的存储引擎都支持所有的索引类型。即使多个存储引擎支持某一索引类型,它们的实现和行为也可能有所差别。 MyISAM 和 InnoDB 存储引擎,都使用 B+Tree的数据结构,它相对与 阅读全文

posted @ 2020-08-28 15:47 wsw_seu 阅读(609) 评论(1) 推荐(1) 编辑

MYSQL 存储引擎(面)
摘要:存储引擎是MySQL的组件,用于处理不同表类型的SQL操作。不同的存储引擎提供不同的存储机制、索引技巧、锁定水平等功能,使用不同的存储引擎,还可以获得特定的功能。 使用哪一种引擎可以灵活选择,一个数据库中多个表可以使用不同引擎以满足各种性能和实际需求,使用合适的存储引擎,将会提高整个数据库的性能 。 阅读全文

posted @ 2020-08-28 11:52 wsw_seu 阅读(190) 评论(0) 推荐(0) 编辑

MySQL架构(面)
摘要:和其它数据库相比,MySQL有点与众不同,它的架构可以在多种不同场景中应用并发挥良好作用。主要体现在存储引擎的架构上,插件式的存储引擎架构将查询处理和其它的系统任务以及数据的存储提取相分离。这种架构可以根据业务的需求和实际需要选择合适的存储引擎。 连接层:最上层是一些客户端和连接服务。主要完成一些类 阅读全文

posted @ 2020-08-28 11:16 wsw_seu 阅读(108) 评论(0) 推荐(0) 编辑

极客mysql38
摘要:InnoDB 引擎把数据放在主键索引上,其他索引上保存的是主键 id。这种方式,我们称之为索引组织表(Index Organizied Table)。 而 Memory 引擎采用的是把数据单独存放,索引上保存数据位置的数据组织形式,我们称之为堆组织表(Heap Organizied Table)。( 阅读全文

posted @ 2020-08-25 16:16 wsw_seu 阅读(97) 评论(0) 推荐(0) 编辑

mysql 面试100 问(精华学习)。待开始理
摘要:https://juejin.im/post/6850037271233331208 https://juejin.im/entry/6844903681091977229 阅读全文

posted @ 2020-08-09 15:06 wsw_seu 阅读(261) 评论(0) 推荐(0) 编辑

幻读在 InnoDB 中是被如何解决的?(转)
摘要:在MySQL事务初识中,我们了解到不同的事务隔离级别会引发不同的问题,如在 RR 级别下会出现幻读。但如果将存储引擎选为 InnoDB ,在 RR 级别下,幻读的问题就会被解决。在这篇文章中,会先介绍什么是幻读、幻读会带来引起那些问题以及 InnoDB 解决幻读的思路。 实验环境:RR,MySQL 阅读全文

posted @ 2020-08-02 15:19 wsw_seu 阅读(223) 评论(0) 推荐(0) 编辑

极客mysql16
摘要:1.MySQL会为每个线程分配一个内存(sort_buffer)用于排序该内存大小为sort_buffer_size 1>如果排序的数据量小于sort_buffer_size,排序将会在内存中完成 2>如果排序数据量很大,内存中无法存下这么多数据,则会使用磁盘临时文件来辅助排序,也称外部排序 3>在 阅读全文

posted @ 2020-07-29 11:29 wsw_seu 阅读(163) 评论(0) 推荐(0) 编辑

极客mysql13
摘要:1:为啥删除了表的一半数8据,表文文件大小没变化?因为delete 命令其实只是把记录的位置,或者数据页标记为了“可复用”,但磁盘文件的大小是不会变的。也可以认为是一种逻辑删除,所以物理空间没有实际释放,只是标记为可复用,表文件的大小当然是不变的啦!2:表的数据信息存在哪里?表数据信息可能较小也可能 阅读全文

posted @ 2020-07-23 16:21 wsw_seu 阅读(135) 评论(0) 推荐(0) 编辑

极客mysql08
摘要:1.innodb支持RC和RR隔离级别实现是用的一致性视图(consistent read view) 2.事务在启动时会拍一个快照,这个快照是基于整个库的. 基于整个库的意思就是说一个事务内,整个库的修改对于该事务都是不可见的(对于快照读的情况) 如果在事务内select t表,另外的事务执行了D 阅读全文

posted @ 2020-07-14 20:33 wsw_seu 阅读(134) 评论(0) 推荐(0) 编辑

极客mysql06
摘要:两阶段锁:在 InnoDB 事务中,行锁是在需要的时候才加上的,但并不是不需要了就立刻释放, 而是要等到事务结束时才释放。 建议:如果你的事务中需要锁多个行,要把最可能造成锁冲突、最可能影响并发度的锁尽量往后放。 死锁:当并发系统中不同线程出现循环资源依赖,涉及的线程都在等待别的线程释放资源时,就会 阅读全文

posted @ 2020-07-14 16:10 wsw_seu 阅读(106) 评论(0) 推荐(0) 编辑

导航

< 2025年2月 >
26 27 28 29 30 31 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 1
2 3 4 5 6 7 8
点击右上角即可分享
微信分享提示