青云博客 记录、分享

mysql中有哪几种锁?(深入)

1.MySQL中的锁分类 按粒度分表锁、行锁和页锁三种, 按类型分读锁和写锁(都属于悲观锁)两种。 按性能分乐观锁、悲观锁和意向锁。 其中,MyISAM和MEMORY存储引擎采用的是表级锁,而InnoDB存储引擎支持行级锁和表级锁。

詹学伟 Published on 2024-04-22

什么时候不要使用索引?

在大多数情况下,使用索引可以提高数据库查询的性能和效率。但也有一些情况下,不使用索引可能更合适: 小型表:对于非常小的表,可能不需要使用索引。因为索引的维护需要额外的存储空间和计算资源,而对于小型表来说,全表扫描的开销可能相对较小。 插入、更新和删除频繁的表:如果表的插入、更新和删除操作非常频繁,而

詹学伟 Published on 2024-04-22

MySQL 中有哪几种锁?

在MySQL中,常见的锁包括以下几种: 表级锁(Table-level Locking):在事务操作中对整个表进行加锁。当一个事务对表进行写入操作时,其他事务无法对该表进行任何读写操作。表级锁通常是针对特定的DDL操作或备份操作。 共享锁(Shared Lock):也称为读锁(Read Lock),

詹学伟 Published on 2024-04-22

创建索引时需要注意什么?

在创建索引时,需要注意以下几点: 选择适当的列:根据实际查询需求和数据特点,选择合适的列作为索引列。通常情况下,选择经常被用于查询条件、排序或聚合操作的列作为索引列可以获得更好的性能。 避免过多的索引:过多的索引会增加存储空间的开销,并且在数据写入时需要维护多个索引结构,导致性能下降。因此,只创建必

詹学伟 Published on 2024-04-22

什么是索引?索引有哪些优缺点?

索引是数据库中用于提高数据检索性能的排好序的数据结构。它类似于书籍的目录,通过建立特定的数据结构将列或多个列的值与它们在数据表中对应的行关联起来,以加快查询速度。 索引的优点包括: 提高查询性能:

詹学伟 Published on 2024-04-22

MySQL 索引分类?

在MySQL中,索引按照索引列的类型可以分为以下几种: 主键索引:用于唯一标识每一条记录,主键索引的值不允许重复且不能为空,并且一个表只能有一个主键索引。 唯一索引:用于保证索引列的值唯一,允许为空值,但是一个表可以有多个唯一索引。 普通索引:

詹学伟 Published on 2024-04-22

数据库三大范式是什么

数据库三大范式是关系数据库设计中的一组规范,旨在提高数据结构的合理性、减少数据冗余和提高数据操作的效率。它们分别是: 第一范式(1NF):确保每个数据列都是不可再分的原子值,即每个单元格中只包含一个值。这可以通过将表拆分为更小的表来实现,每个表都包含一个实体的属性。 第二范式(2NF):建立在第一范

詹学伟 Published on 2024-04-22

MySQL为什么默认引擎是InnoDB

MySQL 默认的存储引擎是 InnoDB,这是因为 InnoDB 在性能、事务支持和容错能力等方面具有较好的特性,适合大多数应用场景。下面是一些原因: 支持事务:InnoDB 是一个支持事务的存储引擎。事务是一组数据库操作的原子性执行,可以保证操作的一致性和完整性。 并发控制:InnoDB 支持行

詹学伟 Published on 2024-04-22

什么是指针碰撞

在Java中,指针碰撞是一种垃圾收集算法中用于分配内存的一种方式。它通常用于实现停顿时间较短的垃圾收集器,如复制算法和标记-清除算法。 指针碰撞的基本思想是将堆内存分为两个区域:一个是已分配的对象区域,另一个是未分配的空闲区域。通过一个指针来分隔这两个区域。当需要分配对象时,垃圾收集器将对象的大小与

詹学伟 Published on 2024-04-22

什么是三色标记(2)?

1.前言 三色标记算法,用于垃圾回收器升级,将STW变为并发标记。STW就是在标记垃圾的时候,必须暂停程序,而使用并发标记,就是程序一边运行,一边标记垃圾。 2. 三色标记算法 2.1.什么是三色: 首先我们需要知道三色标记法就是根据可达性分析

詹学伟 Published on 2024-04-22
Previous Next