数据库查询优化-explain

2025-4-15 diaba Mysql

在 MySQL 中,EXPLAIN 是一个非常有用的命令,用于分析 SQL 查询的执行计划。通过 EXPLAIN,可以了解 MySQL 是如何执行查询的,包括表的访问顺序、使用的索引、连接类型等信息。这对于优化查询性能非常有帮助。 基本用法 EXPLAIN [SQL查询语句]; 例如: EXPLAIN SELECT * FROM users WHERE age > 25; 输出字段解释 EXPLAIN 的输出结果通常包含以下字段: id ...

阅读全文>>

标签: 数据库优化 查询

评论(0) 浏览(1299)

蚂蚁三地五中心数据存储

2025-4-1 diaba Mysql

蚂蚁集团分布式系统“三地五中心”部署的数据存储与同步策略 1. 数据存储架构 蚂蚁集团的“三地五中心”架构是其分布式系统的重要组成部分,旨在实现高可用性、容灾能力和弹性扩展。具体的数据存储和部署策略如下: 数据库选择:蚂蚁集团使用自研的分布式关系数据库OceanBase。OceanBase具备数据强一致、高可用、高性能、在线扩展等特点。 副本部署:每个数据分片的数据库部署5个副本,这些副本分布在三地五中心的不同数据中心。其中,3个副本实现强一致性,确保数据的高可用性和可靠性。 逻辑分区:数据按照业务逻辑进行分区,每...

阅读全文>>

标签: OceanBase 三地五中心 分布式存储

评论(0) 浏览(1134)

MVCC原理介绍

2025-2-21 diaba Mysql

MVCC(Multi-Version Concurrency Control,多版本并发控制)是一种用于提高数据库并发性能的机制,通过维护数据的多个版本,允许读写操作并行执行,从而减少锁竞争。以下是MVCC的详细原理介绍: 1. MVCC的核心思想 MVCC的核心思想是为每行数据维护多个版本,每个版本对应一个特定的事务版本号。通过版本号,数据库可以判断某个事务在执行时应该看到哪个版本的数据,从而实现读操作不加锁,避免读写冲突。 2. 版本链 在MVCC机制下,数据库中的每行数据都维护一个版本链,记录了该行数据的多个版本...

阅读全文>>

标签: 数据库 MVCC

评论(0) 浏览(1080)

MySQL查询结果保存到文件

2016-6-2 diaba Mysql

执行sql语句,保存到文件的方法: $mysql -u root -D databasesName -p -e "select * from t_user " >> users.txt 作用:在命令行执行查询数据库databasesName,查询语句是select * from t_user,把结果保存到当前目录的users.txt文件中。

阅读全文>>

标签: mysql

评论(0) 浏览(4469)

Mysql存储引擎MyISAM和InnoDB对比

2016-1-25 diaba Mysql

mysql的MyISAM和InnoDB两个存储引擎的索引实现方式: MyISAM引擎使用B+ Tree作为索引结构,叶节点存放的是数据记录的地址。 MyISAM引擎的辅助索引(二级索引)和主索引在结构上没有区别,只是辅助索引的key可以重复,叶节点上存放的也是数据记录的地址。 MyISAM索引文件和数据文件是分离的,索引文件仅保存数据记录的地址。 InnoDB中表数据本身就是按B+ Tree组织的一个索引结构,叶节点存放的就不是数据记录的地址,而是完整的数据记录。所以InnoDB这种存储方式,又称为聚集索引,使得按主键的...

阅读全文>>

标签: myiasm innodb

评论(1) 浏览(4639)

三种基本存储引擎

2016-1-25 diaba Mysql

哈希存储引擎     是哈希表的持久化实现,支持增删改及随机读取操作,但是不支持顺序扫描,对应的存储系统为key-value存储系统。对于key-value的插入及查询,哈希表的复杂度都是O(1),明显比树的操作O(n)要快,如果不需要有序的遍历数据,那么哈希表就是your Mr.Right。 B树存储引擎     是B树的持久化实现。不仅支持单条记录的增删查改操作,还支持顺序扫描(B+树的叶子节点之间的指针),对应的存储系统就是关数据库。 LSM树(Log-Structured Merge Tree)...

阅读全文>>

标签: 存储引擎

评论(0) 浏览(4812)

MySQL 数据库引擎

2016-1-4 diaba Mysql

    MySQL有以下几种引擎:ISAM、MyISAM、HEAP、InnoDB和Berkley(BDB)。     注意:不同的版本支持的引擎是有差异的。当然,也能使用MySQL++来创建自己的数据库引擎,具体操作可以参照MySQL++ API帮助来实现。     下面逐一叙述这5种引擎各自的特性:     ISAM     ISAM是一个定义明确且历经时间考验的数据表格管理方法,它在设计之时就考虑到数据库被...

阅读全文>>

标签: mysql 数据库引擎

评论(0) 浏览(3934)

Mysql-ifnull,if语句

2015-12-17 diaba Mysql

取某行数据多个数值字段最大的一个值 select if(field1>field2,field1,field2) as bigger, if(if(field1>field2,field1,field2)>if(field3>field4,field3,field4),if(field1>field2,field1,field2),if(field3>field4,field3,field4)) as biggest from dual;

阅读全文>>

标签: mysql if ifnull

评论(0) 浏览(4216)

MySQL Query Cache 小结

2015-12-6 diaba Mysql

作者:Sky.Jian | 可以任意转载, 但转载时务必以超链接形式标明文章原始出处 和 作者信息 及 版权声明 链接:http://isky000.com/database/mysql-query-cache-summary 最近经常有人问我 MySQL Query Cache 相关的问题,就整理一点 MySQL Query Cache 的内容,以供参考。 顾名思义,MySQL Query Cache 就是用来缓存和 Query 相关的数据的。具体来说,Query Cache 缓存了我们客户端提交给 MySQL 的 SELECT 语句以及该语句的结果集。大概来讲,就是将 SE...

阅读全文>>

标签: cache mysql query

评论(0) 浏览(4026)

Mysql-如果为null返回0

2015-12-4 diaba Mysql

1、如果为空返回0 select ifnull(null,0) 2、如果为空返回0,否则返回1 select if(isnull(col),0,1) as col.

阅读全文>>

标签: 数据库 mysql 如果为null

评论(0) 浏览(4619)

Powered by emlog 京ICP备15045175号-1 Copyright © 2022