数据库查询优化-explain
在 MySQL 中,EXPLAIN 是一个非常有用的命令,用于分析 SQL 查询的执行计划。通过 EXPLAIN,可以了解 MySQL 是如何执行查询的,包括表的访问顺序、使用的索引、连接类型等信息。这对于优化查询性能非常有帮助。 基本用法 EXPLAIN [SQL查询语句]; 例如: EXPLAIN SELECT * FROM users WHERE age > 25; 输出字段解释 EXPLAIN 的输出结果通常包含以下字段: id ...蚂蚁三地五中心数据存储
蚂蚁集团分布式系统“三地五中心”部署的数据存储与同步策略 1. 数据存储架构 蚂蚁集团的“三地五中心”架构是其分布式系统的重要组成部分,旨在实现高可用性、容灾能力和弹性扩展。具体的数据存储和部署策略如下: 数据库选择:蚂蚁集团使用自研的分布式关系数据库OceanBase。OceanBase具备数据强一致、高可用、高性能、在线扩展等特点。 副本部署:每个数据分片的数据库部署5个副本,这些副本分布在三地五中心的不同数据中心。其中,3个副本实现强一致性,确保数据的高可用性和可靠性。 逻辑分区:数据按照业务逻辑进行分区,每...Redis多种部署架构
Redis 支持多种部署架构,每种架构都有其特点和适用场景,主要解决不同的核心问题。以下是常见的 Redis 部署架构及其特点和核心问题的总结: 1. 单机模式(Standalone Mode) 特点:最简单的部署方式,仅包含一个 Redis 节点。 优点: 架构简单,部署方便。 性能较高,适合小规模应用。 缺点: 单点故障,一旦节点宕机,数据将不可访问。 内存容量和处理能力受限于单...IO多路复用在Redis发挥重要作用
Redis 是一个内存数据库,其核心操作主要是对内存中的数据进行读写,而不是像传统数据库那样频繁访问磁盘文件。然而,Redis 仍然需要处理大量的网络 I/O 操作,因为它是通过网络与客户端进行通信的。这就是 I/O 多路复用在 Redis 中发挥重要作用的原因。 1. Redis 的网络通信需求 Redis 是一个高性能的网络服务,其主要功能是通过网络接收客户端请求并返回响应。具体来说: 客户端通过网络连接(通常是 TCP 套接字)向 Redis 发送命令。 Redis 接收这些命令,处理它们,并将结果通过网络发...Redis 的 ZSET(Sorted Set,有序集合)
Redis 的 ZSET(Sorted Set,有序集合) 是一种非常强大的数据结构,它结合了集合(Set)和哈希表(Hash)的特点,能够存储带有分数(score)的成员(member),并且根据分数对成员进行排序。ZSET 的高效性和灵活性使其在许多场景中被广泛应用,例如实现排行榜、优先队列等。 ZSET 的底层实现结构 Redis 的 ZSET 底层使用了两种数据结构来实现: 双跳表(Skip List) 哈希表(Hash Table) 这两种结构共同工作,使得 ZS...Redis数据结构介绍
Redis 是一种高性能的键值存储数据库,支持多种数据结构。每种数据结构都有其独特的特点和适用场景。以下是 Redis 中常见的数据结构及其应用场景: 1. 字符串(String) 字符串是 Redis 最基本的数据类型,可以存储字符串、数字或二进制数据。 特点 最简单的数据结构,类似于键值对。 支持多种操作,如设置值、获取值、追加值、自增/自减操作等。 可以存储任意类型的数据(字符串、数字、二进制数据)。 应用场景 缓存数据:存储用户会话信息、页面缓存等。 ...标签: redis
MVCC原理介绍
MVCC(Multi-Version Concurrency Control,多版本并发控制)是一种用于提高数据库并发性能的机制,通过维护数据的多个版本,允许读写操作并行执行,从而减少锁竞争。以下是MVCC的详细原理介绍: 1. MVCC的核心思想 MVCC的核心思想是为每行数据维护多个版本,每个版本对应一个特定的事务版本号。通过版本号,数据库可以判断某个事务在执行时应该看到哪个版本的数据,从而实现读操作不加锁,避免读写冲突。 2. 版本链 在MVCC机制下,数据库中的每行数据都维护一个版本链,记录了该行数据的多个版本...MySQL查询结果保存到文件
执行sql语句,保存到文件的方法: $mysql -u root -D databasesName -p -e "select * from t_user " >> users.txt 作用:在命令行执行查询数据库databasesName,查询语句是select * from t_user,把结果保存到当前目录的users.txt文件中。标签: mysql
阿里分布式存储系统OceanBase简介
淘宝在“双十一”得到了空前的反响,当然在“双十一”背后,OceanBase分布式系统负载均衡也帮了不少的忙,以下就是其经验分享。 云计算已经是现在大势所趋,它所具备的低成本、高性能、高可用性、高可扩展性等特点与互联网应用日益面临的挑战不谋而合,成为近年来互联网领域的热门话题。当然在云计算的底层架构中,分布式存储是不可或缺的重要组成部分。就像国外知名的互联网公司Google、Amazon、Facebook、Microsoft、Yahoo等都竞相推出了各自的分布式存储系统,而在国内淘宝也自主研发的一个支持海量数据的高性能分布式数据库系统OceanBase,实现了数千亿条记录、数百TB数据上的...标签: OceanBase
Redis—原子增操作INCR的应用
INCR INCR key 将 key 中储存的数字值增一。 如果 key 不存在,那么 key 的值会先被初始化为 0 ,然后再执行 INCR 操作。 如果值包含错误的类型,或字符串类型的值不能表示为数字,那么返回一个错误。 本操作的值限制在 64 位(bit)有符号数字表示之内。 这是一个针对字符串的操作,因为 Redis 没有专用的整数类型,所以 key 内储存的字符串被解释为十进制 64 位有符号整数来执行 INCR 操作。 ...乐观锁和悲观锁
锁( locking ) 业务逻辑的实现过程中,往往需要保证数据访问的排他性。如在金融系统的日终结算 处理中,我们希望针对某个 cut-off 时间点的数据进行处理,而不希望在结算进行过程中 (可能是几秒种,也可能是几个小时),数据再发生变化。此时,我们就需要通过一些机 制来保证这些数据在某个操作过程中不会被外界修改,这样的机制,在这里,也就是所谓 的 “ 锁 ” ,即给我们选定的目标数据上锁,使其无法被其他程序修改。 Hibernate 支持两种锁机制:即通常所说的 “ 悲观锁( Pessimistic Locking ) ” 和 “ 乐观锁( Op...Mysql存储引擎MyISAM和InnoDB对比
mysql的MyISAM和InnoDB两个存储引擎的索引实现方式: MyISAM引擎使用B+ Tree作为索引结构,叶节点存放的是数据记录的地址。 MyISAM引擎的辅助索引(二级索引)和主索引在结构上没有区别,只是辅助索引的key可以重复,叶节点上存放的也是数据记录的地址。 MyISAM索引文件和数据文件是分离的,索引文件仅保存数据记录的地址。 InnoDB中表数据本身就是按B+ Tree组织的一个索引结构,叶节点存放的就不是数据记录的地址,而是完整的数据记录。所以InnoDB这种存储方式,又称为聚集索引,使得按主键的...三种基本存储引擎
哈希存储引擎 是哈希表的持久化实现,支持增删改及随机读取操作,但是不支持顺序扫描,对应的存储系统为key-value存储系统。对于key-value的插入及查询,哈希表的复杂度都是O(1),明显比树的操作O(n)要快,如果不需要有序的遍历数据,那么哈希表就是your Mr.Right。 B树存储引擎 是B树的持久化实现。不仅支持单条记录的增删查改操作,还支持顺序扫描(B+树的叶子节点之间的指针),对应的存储系统就是关数据库。 LSM树(Log-Structured Merge Tree)...标签: 存储引擎
Redis—常见参数配置
Redis的以下常见参数设置都是通过对redis.conf文件进行修改来完成的。 本文主要介绍了设置访问密码、主从配置、设置数据和日志目录、以及参数调优等方面。 一. 权限设置: 1. 修改redis.conf文件: Shell代码 requirepass passstring 2. 客户端登录,需要先进行授权操作,提供密码即可。 Shell代码 auth passstring ...Redis设计与实现——RDB和AOF持久化区别
原文:http://blog.csdn.net/jackpk/article/details/30073097 aof,rdb是两种 redis持久化的机制。用于crash后,redis的恢复。 rdb的特性如下: Code: fork一个进程,遍历hash table,利用copy on write,把整个db dump保存下来。 save, shutdown, slave 命令会触发这个操作。 粒度比较大,如果save, shutdown, slave 之前crash了,则中间的操作没办法恢复。 aof有如下特性: Code...Redis设计与实现——常用命令
Redis提供了丰富的命令,允许我们连接客户端对其进行直接操作.这里简单介绍一下作为常用的一些命令,包括对字符串、列表、集合、有序集合、哈希表的操作,以及一些其他常用命令。 【 基本操作】 1. 添加记录:通常用于设置字符串(string)类型,或者整数类型;如果key已经存在,则覆盖其对应的值。 Shell代码 set name James ...MySQL 数据库引擎
MySQL有以下几种引擎:ISAM、MyISAM、HEAP、InnoDB和Berkley(BDB)。 注意:不同的版本支持的引擎是有差异的。当然,也能使用MySQL++来创建自己的数据库引擎,具体操作可以参照MySQL++ API帮助来实现。 下面逐一叙述这5种引擎各自的特性: ISAM ISAM是一个定义明确且历经时间考验的数据表格管理方法,它在设计之时就考虑到数据库被...Mysql-ifnull,if语句
取某行数据多个数值字段最大的一个值 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 Query Cache 小结
作者: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...Mysql-如果为null返回0
1、如果为空返回0 select ifnull(null,0) 2、如果为空返回0,否则返回1 select if(isnull(col),0,1) as col.日历
个人资料

diaba 寻求合作请留言或联系mail: services@jiucaiyuan.net
链接
最新文章
存档
- 2025年4月(17)
- 2025年3月(25)
- 2025年2月(20)
- 2025年1月(2)
- 2024年10月(1)
- 2024年8月(2)
- 2024年6月(4)
- 2024年5月(1)
- 2023年7月(1)
- 2022年10月(1)
- 2022年8月(1)
- 2022年6月(11)
- 2022年5月(6)
- 2022年4月(33)
- 2022年3月(26)
- 2021年3月(1)
- 2020年9月(2)
- 2018年8月(1)
- 2018年3月(1)
- 2017年3月(3)
- 2017年2月(6)
- 2016年12月(3)
- 2016年11月(2)
- 2016年10月(1)
- 2016年9月(3)
- 2016年8月(4)
- 2016年7月(3)
- 2016年6月(4)
- 2016年5月(7)
- 2016年4月(9)
- 2016年3月(4)
- 2016年2月(5)
- 2016年1月(17)
- 2015年12月(15)
- 2015年11月(11)
- 2015年10月(6)
- 2015年9月(11)
- 2015年8月(8)
分类
热门文章
- SpringMVC:Null ModelAndView returned to DispatcherServlet with name 'applicationContext': assuming HandlerAdapter completed request handling
- Mac-删除卸载GlobalProtect
- java.lang.SecurityException: JCE cannot authenticate the provider BC
- MyBatis-Improper inline parameter map format. Should be: #{propName,attr1=val1,attr2=val2}
- Idea之支持lombok编译
标签
最新评论
- logisqykyk
Javassist分析、编辑和创建jav... - xxedgtb
Redis—常见参数配置 - 韭菜园 ... - wdgpjxydo
SpringMVC:Null Model... - rllzzwocp
Mysql存储引擎MyISAM和Inno... - dpkgmbfjh
SpringMVC:Null Model... - tzklbzpj
SpringMVC:Null Model... - bqwrhszmo
MyBatis-Improper inl... - 乐谱吧
good非常好 - diaba
@diaba:应该说是“时间的度量依据”... - diaba
如果速度增加接近光速、等于光速、甚至大于...
最新微语
- 在每件事情上花费的东西,就是生命的一部分,而我们花费的这些东西要求立即得到回报,或者在一个长时间以后得到回报。
2025-01-23 15:46
- 诺曼·文森特说:“并不是你认为自己是什么样的人,你就是什么样的人。但是你的思想是什么样,你就是什么样的人。”
2025-01-23 15:44
- 从今天起,做一个幸福的人。喂马,砍柴,(思想)周游世界
2022-03-21 23:31
- 2022.03.02 23:37:59
2022-03-02 23:38
- 几近崩溃后,找到解决方法,总是那么豁然开朗!所以遇到问题要坚持!
2018-07-18 10:49