
MySQL高级
文章平均质量分 89
MySQL
却道天凉_好个秋
这个作者很懒,什么都没留下…
展开
-
MySQL高级(六):全局锁、表锁和行锁
表锁是作用于单个表的锁,限制其他线程对该表的读写操作。行锁是作用于表中的特定行的锁,仅限制其他线程对特定行的操作。锁类型作用范围加锁方式优缺点常用场景全局锁整个数据库实例粒度最大,影响整个实例,不适合高并发环境。一致性备份、全库维护表锁单个表粒度较粗,影响整个表的操作,简单易用,但会降低并发性能。批量操作、逻辑控制行锁表中的特定行自动加锁或显式事务控制粒度最细,并发性能高,但加锁开销大,需依赖索引实现。高并发场景、事务操作。原创 2024-11-28 21:36:49 · 811 阅读 · 0 评论 -
MySQL高级(五):事务
事务是数据库管理系统中用于保证数据一致性和完整性的重要机制。它允许将一组操作视为一个整体,要么全部执行,要么全部回滚,以确保数据的正确性。原创 2024-11-24 20:54:09 · 1316 阅读 · 0 评论 -
MySQL高级(四):索引
MySQL 的索引类型多种多样,每种类型都适用于不同的场景。在设计数据库表和查询时,合理选择和使用索引,可以显著提高系统的性能,但也需要注意索引的创建和维护开销。常见的索引类型包括:主键索引、唯一索引、普通索引、全文索引、联合索引和空间索引等。根据实际需求优化索引策略,是数据库性能优化的重要组成部分。原创 2024-11-20 22:07:56 · 1019 阅读 · 0 评论 -
MySQL高级(三):事务隔离
最弱的隔离级别,可能发生脏读、不可重复读和幻读,性能最优,但不适合需要高一致性的场景。:解决了脏读问题,但可能发生不可重复读和幻读,适合大多数场景。:提供了更强的保证,避免了脏读和不可重复读,但仍然可能发生幻读,适合需要高一致性的事务。:最强的隔离级别,完全避免了所有一致性问题,但性能最差,适合对事务一致性要求极高的场景。原创 2024-11-15 22:09:06 · 568 阅读 · 0 评论 -
MySQL高级(二):一条更新语句是如何执行的
Redo Log:是 InnoDB 用来确保事务持久性和恢复操作的一种机制,记录了对数据页的物理修改。它用于系统崩溃后的恢复。Binlog:记录了数据库的逻辑变化(SQL 语句或事件),用于数据的备份、恢复以及主从复制。两者各自担任不同的角色,Redo Log主要用于事务的持久性和崩溃恢复,而Binlog则用于数据复制备份和恢复。解析:解析 SQL 语句。优化:选择最佳执行计划。查找记录:根据WHERE条件查找符合更新条件的记录。锁定行:锁定符合条件的记录,防止其他事务并发修改。更新数据。原创 2024-11-14 22:29:50 · 1416 阅读 · 0 评论 -
MySQL高级(一):一条查询语句是如何执行的
MySQL 执行查询语句的过程可以分为接收、解析、优化、执行和返回结果几个步骤。每个步骤的优化都旨在提高查询性能,确保查询以最有效的方式执行。优化器在查询过程中起到了至关重要的作用,通过选择最合适的执行计划,最大限度地减少查询的执行时间。原创 2024-11-12 22:59:27 · 942 阅读 · 0 评论