
数据库
文章平均质量分 82
青衫客36
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
MySQL 的 EXPLAIN 命令执行效率高
MySQL 的EXPLAIN命令用于分析查询语句的执行计划,展示 MySQL 在执行这条查询时的查询路径和步骤。然而,EXPLAIN命令的执行效率非常高,这是因为它并不会真正执行查询操作,而是通过解析查询语句和数据库结构,生成一个执行计划并将其展示出来。原创 2024-08-15 20:20:32 · 472 阅读 · 0 评论 -
MySQL- EXPLAIN命令的type列
ALL:全表扫描,最不推荐,因为它扫描了表中的所有行。index:全索引扫描,扫描了整个索引,效率比全表扫描稍高。range:索引范围扫描,扫描索引中的一个范围,性能较好。ref:非唯一索引扫描,使用非唯一索引来查找匹配的行。eq_ref:唯一索引扫描,使用唯一索引或主键查找匹配的行,效率非常高。const:查询结果是常量,表示最多有一条记录,效率最高。通过理解这些访问类型及其对应的查询场景,可以帮助我们优化 MySQL 查询,提高数据库性能。原创 2024-08-14 22:31:01 · 1489 阅读 · 0 评论 -
MySQL-MVCC举例说明
MVCC 是 MySQL InnoDB 存储引擎用来处理并发事务的一种重要机制。通过版本链和 Read View 的机制,MVCC 能够高效地处理多个事务的并发读写操作,确保数据的一致性和系统的高性能。了解 MVCC 的工作原理,对于优化 MySQL 性能和解决并发问题至关重要。原创 2024-08-14 17:24:21 · 1132 阅读 · 0 评论 -
MySQL- 索引下推
索引下推(ICP)是 MySQL 5.6 引入的一个重要优化技术,它通过将部分查询条件“下推”到索引扫描阶段来减少回表操作,从而提高查询性能。索引下推特别适合使用复合索引的场景,通过有效地减少不必要的 I/O 操作,能够显著提升查询的执行效率。在实际应用中,可以通过EXPLAIN语句来查看索引下推是否生效,并结合查询模式和索引设计来充分利用这一优化技术。原创 2024-08-13 22:22:17 · 2881 阅读 · 0 评论 -
MySQL- 覆盖索引
覆盖索引是指一个索引包含了查询所需要的所有列的数据。换句话说,查询可以完全从索引中获取所需的数据,而不需要访问表中的实际行数据。这意味着查询只需要读取索引就可以返回结果,而不必进行额外的磁盘 I/O 来读取表数据。索引包含了 SELECT 子句中的所有列。索引包含了 WHERE 子句中的所有列。索引包含了 ORDER BY 子句中的所有列(如果有)。覆盖索引是一种强大的 MySQL 查询优化技术,可以显著减少查询的 I/O 操作并提高性能。原创 2024-08-13 22:20:15 · 1711 阅读 · 0 评论 -
区分脏读、幻读和不可重复读
脏读:读取了其他事务未提交的数据。不可重复读:在同一事务中,多次读取同一数据得到不同结果,由于其他事务对这些数据进行了修改并提交。幻读:在同一事务中,多次读取满足某个条件的数据集合(如范围查询)得到不同的结果,通常是由于其他事务添加或删除了满足该条件的数据。原创 2023-12-21 00:26:58 · 723 阅读 · 0 评论 -
MySQL- 多版本并发控制(MVCC)
MVCC是一种高效的并发控制机制,它通过维护数据的多个版本来提高数据库的并发能力。虽然它带来了一些额外的存储和管理开销,但在高并发环境下,这些开销通常是值得的,因为它们能显著提高整体的系统性能。原创 2023-12-21 00:17:17 · 939 阅读 · 0 评论 -
MySQL 一个线程(或事务)在更新表时,另一个线程能否读取这个表
在MySQL中,一个线程(或事务)在更新表时,另一个线程能否读取这个表主要取决于两个因素:使用的事务隔离级别和锁的类型。MySQL默认使用行级锁,这意味着锁定的范围相对较小,通常不会锁定整个表。原创 2023-12-21 00:09:24 · 1138 阅读 · 0 评论 -
MySQL- SELECT ... FOR UPDATE语句
是 SQL 语言中的一种语句,用于在数据库事务处理中控制并发访问。这种语句通常用在需要对数据库中的记录进行更新操作的场景中。下面是对用于锁定一条或多条记录以进行更新。当我们使用这个语句时,数据库会对选定的行加上排他锁(exclusive lock)。这意味着,在当前事务提交或回滚之前,其他事务不能对这些行进行修改或加锁。通常在事务(transaction)中使用。这是因为,锁定的行只有在事务结束时才会释放。如果不在事务中使用,锁定可能会立即释放,这样就不会有预期的效果。:当执行。原创 2023-12-19 15:25:40 · 2642 阅读 · 0 评论 -
MySQL- 创建可以远程访问的root账户
在生产环境中,建议使用更安全的用户名和强密码,并限制用户的连接IP地址以增强安全性。默认的root用户只能当前节点localhost访问,是无法远程访问的,所以,我们要创建一个root账户,帮助用户远程访问。在 MySQL 8.0 版本中,创建用户的命令略有不同,主要是因为默认的身份验证插件从。的新用户,这个用户可以从任何IP地址连接到MySQL服务器,并使用。:这是SQL语句的开始,用于告诉MySQL我们要创建一个新用户。),因此在不同版本的MySQL中,命令的具体格式可能有所不同。原创 2023-11-25 20:57:04 · 3210 阅读 · 1 评论 -
MySQL中对varchar类型的列进行统计分析
如何在MYSQL中查找my_data列中所有原创 2023-09-19 21:10:58 · 363 阅读 · 0 评论