数据库
晨初听雨
这个作者很懒,什么都没留下…
展开
-
SQL语言的分类
SQL语言的分类 SQL语言,是结构化查询语言(Structured Query Language)的简称。SQL语言是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统;同时也是数据库脚本文件的扩展名。 SQL语言共分为四大类: DQL:Data Query Language 数据查询语言 DML:Data Manipulation Language 数据操纵语...原创 2018-10-13 19:17:23 · 229 阅读 · 0 评论 -
缓存穿透,缓存雪崩,缓存击穿的解决方案
一、缓存工作流程 我们首先来看看我们是如何用到缓存的? 前台请求,后台先从缓存中取数据,取到直接返回结果,取不到时从数据库中取,数据库取到更新缓存,并返回结果,数据库也没取到,那直接返回空结果。 了解了缓存的工作流程之后,我们再来看看缓存有可能会有什么问题? 二、缓存穿透 缓存穿透是什么? 缓存穿透是指缓存和数据库中都没有的数据,而用户不断发起请求,如发起为id为“-1”的数据或i...原创 2019-06-30 19:14:42 · 235 阅读 · 0 评论 -
Redis过期键删除策略和内存回收策略
1、如果一个键过期了,那么它什么时候会被删除呢? 这个问题有三种可能的答案,它们分别代表了三种不同的删除策略: 定时删除:在设置键的过期时间的同时,创建一个定时器(Timer),让定时器在键的过期时间来临时,立即执行对键的删除操作。 惰性删除:放任键过期不管,但是每次从键空间中获取键时,都检查取得的键是否过期,如果过期的话,就删除该键;如果没有过期的话就返回该键。 定期删除:每隔一段时间,...原创 2019-07-01 16:22:44 · 642 阅读 · 0 评论 -
MyISAM和InnoDB索引实现的区别
我们都知道MyISAM和InnoDB索引都是用B+树实现的,尽管如此他们还是有不少区别的。 MyISAM索引实现 MyISAM引擎使用B+Tree作为索引结构,叶节点的data域存放的是数据记录的地址。下图是MyISAM索引的原理图: 这里设表一共有三列,假设我们以Col1为主键,则上图是一个MyISAM表的主索引(Primary key)示意。可以看出MyISAM的索引文件仅仅...原创 2019-07-06 10:06:55 · 295 阅读 · 0 评论 -
MySQL索引详解
一、什么是索引 索引是一种特殊的文件(InnoDB数据表上的索引是表空间的一个组成部分),它们包含着对数据表里所有记录的引用指针。更通俗的说,数据库索引好比是一本书前面的目录,能加快数据库的查询速度。上述SQL语句,在没有索引的情况下,数据库会遍历全部200条数据后选择符合条件的;而有了相应的索引之后,数据库会直接在索引中查找符合条件的选项。如果我们把SQL语句换成“SELECT * F...原创 2019-02-13 11:51:30 · 270 阅读 · 0 评论 -
MySQL的逻辑架构
MySQL的逻辑结构图将整个MySQL分成四层,图如下: 第一层(连接层):所包含的服务并不是MySQL所独有的技术。它们都是服务于C/S程序或者是这些程序所需要的 :连接处理,身份验证,安全性等等 第二层(服务层):这是MySQL的核心部分。通常叫做 SQL Layer。在 MySQL据库系统处理底层数据之前的所有工作都是在这一层完成的,包括权限判断, sql解析,行计划优化, query...原创 2019-02-13 09:56:32 · 243 阅读 · 0 评论 -
MyISAM和InnoDB的区别
概述 InnoDB和MyISAM是许多人在使用MySQL时最常用的两个表类型,这两个表类型各有优劣,视具体应用而定。基本的差别为:MyISAM类型不支持事务处理等高级处理,而InnoDB类型支持。MyISAM类型的表强调的是性能,其执行数度比InnoDB类型更快,但是不提供事务支持,而InnoDB提供事务支持以及外部键等高级数据库功能。 以下是一些细节和具体实现的差别: 差别一:Myisam...原创 2019-02-15 02:17:12 · 445 阅读 · 0 评论 -
MySQL锁机制
一、简述 MySQL的锁机制比较简单,其最显著的特点是不同的存储引擎支持不同的锁机制。比如,MyISAM和MEMORY存储引擎采用的是表级锁;BDB存储引擎采用的是页面锁,但也支持表级锁;InnoDB存储引擎既支持行级锁,也支持表级锁,但默认情况下采用行级锁。 MySQL这3种锁的特性可大致归纳如下: (1)表级锁:开销小,加锁快;不会出现死锁;锁定粒度大,发生锁冲突的概率最高,并发度最低。...原创 2019-02-15 01:49:27 · 168 阅读 · 0 评论 -
数据库事务的四大特性以及隔离级别
本篇讲诉数据库中事务的四大特性(ACID),并且将会详细地说明事务的隔离级别。如果一个数据库声称支持事务的操作,那么该数据库必须要具备以下四个特性: ⑴ 原子性(Atomicity) 原子性是指事务包含的所有操作要么全部成功,要么全部失败回滚。因此事务的操作如果成功就必须要完全应用到数据库,如果操作失败则不能对数据库有任何影响。 ⑵ 一致性(Consistency) 一致性是指事务...原创 2019-01-26 11:23:18 · 496 阅读 · 0 评论 -
Oracle中手动创建emp表和dept表
以下的gw为用户名,把gw改成自己的用户名即可使用 CREATE TABLE gw.DEPT ( DEPTNO NUMBER(2) CONSTRAINT PK_DEPT PRIMARY KEY, DNAME VARCHAR2(14), LOC VARCHAR2(13) ); CREATE TABLE gw.EMP ( EMPNO NUMBER(4) CONSTRAINT PK_EMP PRIMAR...原创 2018-10-16 16:45:56 · 3756 阅读 · 1 评论 -
Oracle中的常用函数
1、数值型常用函数 函数 返回值 样例 显示 ceil(n) 大于或等于数值n的最小整数 select ceil(10.6) from dual 11 floor(n) 小于等于数...原创 2018-10-13 21:02:22 · 375 阅读 · 0 评论 -
Redis的五大数据类型以及常用命令
String(字符串) string是redis最基本的类型,你可以理解成与Memcached一模一样的类型,一个key对应一个value。 string类型是二进制安全的。意思是redis的string可以包含任何数据。比如jpg图片或者序列化的对象 。 string类型是Redis最基本的数据类型,一个键最大能存储512MB。 Hash(哈希) Redis hash 是一个键值对集合...原创 2019-01-29 16:34:43 · 821 阅读 · 0 评论