Welcome 微信登录

首页 / 数据库 / MySQL

Oracle体系结构之SQL语句的执行过程

Oracle体系结构之SQL语句的执行过程

一般来说,数据库处理SQL都会经过三个过程:解析(parse)、执行(exec)、返回结果(fetch)1.解析当用户发起一个SQL语句时,Oracle通过Server Process 接收SQL语句到达oracle实例,并在Shared pool 中的 Library Cache 查找是否存在该语句对应执行计划的缓存。如果不存在则将该SQL进行硬解析(Hard parse),生成最优化的执行计划(plan),并将该执行计划等信息载入Library Cac...
MySQL架构分析与工作流程

MySQL架构分析与工作流程

MySQL体系架构1.支持接口 :指通过各种语言可与MySQL进行交互2.连接池 :MySQL的工作流程:1.MySQL客户端向服务器发送用户连接请求,该请求被发送到连接管理器,连接管理器是一个侦听器用于真挺来自客户端的连接,用户请求接收后,一个用户请求需要一个线程来相应,线程管理器负责给用户创建生成新的线程。用户连接进来后需要对用户的权限进行验证,验证由用户模块负责管理2.连接上以后,可以发送sql语句,不同的语句分配给不同的解析器,这由命令分发模块完成...
MySQL体系结构

MySQL体系结构

1.MySQL整体逻辑架构我们先下图看看MySQL整体逻辑架构(MySQL’s Logical Architecture)图1第一层,即最上一层,所包含的服务并不是MySQL所独有的技术。它们都是服务于C/S程序或者是这些程序所需要的 :连接处理,身份验证,安全性等等。第二层值得关注。这是MySQL的核心部分。通常叫做 SQL Layer。在 MySQL据库系统处理底层数据之前的所有工作都是在这一层完成的,包括权限判断, sql解析,行计划优化...
Redis 代理服务Twemproxy

Redis 代理服务Twemproxy

1、twemproxy explore当我们有大量 Redis 或 Memcached 的时候,通常只能通过客户端的一些数据分配算法(比如一致性哈希),来实现集群存储的特性。虽然Redis 2.6版本已经发布Redis Cluster,但还不是很成熟适用正式生产环境。 Redis 的 Cluster 方案还没有正式推出之前,我们通过 Proxy 的方式来实现集群存储。Twitter,世界最大的Redis集群之一部署在Twitter用于为用户提供时间轴数据。...
Redis集群明细文档

Redis集群明细文档

Redis目前版本是没有提供集群功能的,如果要实现多台Redis同时提供服务只能通过客户端自身去实现(Memchached也是客户端实现分布式)。目前根据文档已经看到Redis正在开发集群功能,其中一部分已经开发完成,但是具体什么时候可以用上,还不得而知。文档来源:http://redis.io/topics/cluster-spec一、介绍 该文档是开发之中的redis集群实现细节。该文档分成两个部分,第一部分为在redis非稳定版本代码分支上已...
Redis应用场景

Redis应用场景

1. MySql+Memcached架构的问题 实际MySQL是适合进行海量数据存储的,通过Memcached将热点数据加载到cache,加速访问,很多公司都曾经使用过这样的架构,但随着业务数据量的不断增加,和访问量的持续增长,我们遇到了很多问题: 1.MySQL需要不断进行拆库拆表,Memcached也需不断跟着扩容,扩容和维护工作占据大量开发时间。 2.Memcached与MySQL数据库数据一致性问题。 3.Memcached数据命中率低或d...
Redis主从遇到的两个问题解决

Redis主从遇到的两个问题解决

最近在使用redis主从的时候做了下面两件事情:1 希望redis主从从操作上分析,所有写操作都在master上写,所有读操作都在从上读。2 由于redis的从是放在本地的,所以有的key的读写操作就直接放在从上操作了。但是出现了下面的几个问题:1 在主上setex的key即使过期后在从上也始终get的到。重现:主: setex abc 20 test从:get abc >> testttl abc >> 18...ttl abc ...
MySQL索引学习笔记

MySQL索引学习笔记

myisam和innodb的索引有什么区别?两个索引都是B+树索引,但是myisam的表存储和索引存储是分开的,索引存储中存放的是表的地址。而innodb表存储本身就是一个B+树,它是用主键来做B+树的key的。因此innodb需要设置主键,如果没有的话,mysql会优先使用unique键做主键,如果没有unique的话,会生成一个隐含字段做主键。innodb中的主键最好是要使用自增id,因为这样当进行插入操作的时候是不需要修改表的存储结构的。innodb...
Oracle RAC中一个实例不能随crs自动启动的解决

Oracle RAC中一个实例不能随crs自动启动的解决

现象:在两个节点上做CRS的重启,这个实例都不能随CRS的启动而启动。CRS启动后做crs_start -all可以把没启动的资源起来,而且无报错。分析:去crsd.log中找原因,发现CRS根本就没有去尝试启动该instance以及相关的HA资源。用crs_stat -p把资源详细信息输出后发现该实例的所有资源的auto_start=2,意味着该资源不会自动启动解决:更新资源的auto_start=1./crs_register resource_nam...
RMAN 相应概念介绍

RMAN 相应概念介绍

RMAN(recovery manager)是Oracle提供的备份恢复工具。其实使用sql结合OS命令也可以执行备份恢复,也更为灵活,但是对于初学者来说还是使用rman这种方法比较好;rman 用了管理备份、转储和恢复操作。该工具执行的命令统统在服务器进程执行,所以目标数据库必须处于mount或open状态,如果使用了恢复目录,那么恢复目录数据库要处于open状态;先介绍几个rman里所用到的专有名词:目标数据库:需要备份、转储和恢复的数据库;恢复目录数...
普通表与临时表DML操作会产生REDO/UNDO对比与分析

普通表与临时表DML操作会产生REDO/UNDO对比与分析

Oracle临时表介绍:ORACLE数据库除了可以保存永久表外,还可以建立临时表temporary tables。这些临时表用来保存一个会话SESSION的数据,或者保存在一个事务中需要的数据。当会话退出或者用户提交commit和回滚rollback事务的时候,临时表的数据自动清空,但是临时表的结构以及元数据还存储在用户的数据字典中。Oracle临时表分为 会话级临时表 和 事务级临时表。会话级临时表是指临时表中的数据只在会话生命周期之中存在,当用户退出会...
Oracle 索引扫描的4种类型

Oracle 索引扫描的4种类型

根据索引的类型与where限制条件的不同,有4种类型的Oracle索引扫描: 3,4可归一种(1) 索引唯一扫描(index uniquescan)(2) 索引范围扫描(index range scan)(3) 索引全扫描(index full scan)(4) 索引快速扫描(index fast full scan)(5) 索引跳跃扫描(INDEXSKIP SCAN)一. 索引唯一扫描(index unique scan)通过唯一索引查找一个数值经常返回...
<< 701 702 703 704 705 706 707 708 709 710 >>