数据库
云原生手记
欢迎大家关注我的公众号“云原生手记”,将定期更新云计算技术文章
展开
-
事务隔离级别讲解,比较细致
数据库事务的隔离级别有4个,由低到高依次为Read uncommitted 、Read committed、Repeatable read 、Serializable ,这四个级别可以逐个解决脏读 、不可重复读 、幻读 这几类问题。√: 可能出现 ×: 不会出现脏读不可重复读幻读Read uncommitted√√√转载 2017-05-18 08:29:37 · 258 阅读 · 0 评论 -
分布式数据库系统(1)——概述,分布式数据库是什么?
分布式数据库系统(1)——概述(一)分布式数据库是什么?分布式数据库系统:一个粗略的定义是“分布式数据库由一组数据组成,这些数据物理上分布在计算机网络的不同节点上(亦称场地)上,逻辑上是属于同一个系统。” 这里强调两点:(1)分布性:数据库中的数据不是存储在同一场地,更确切的说,不存储在同一计算机的存储设备上,这就可以和集中式数据库相互区别。(2)逻辑整体性:这些数据逻辑上是互相原创 2017-11-12 15:05:12 · 16667 阅读 · 0 评论 -
分布式数据库(2)——事务
转载地址:http://vlinux.iteye.com/blog/11314641、事务的定义 一系列由单个用户或者应用程序提交的数据库操作,这些操作是一个不可分可的整体。2、事务的特性ACID: 原子性,一致性持久性和隔离性。3、分布式事务处理: 分布式事务用两个阶段提交协议保证事务的原子性。两阶段提交协议中,各个节点采取的是完全同步的方法转载 2017-11-12 16:01:03 · 645 阅读 · 0 评论 -
Mysql之inner join,left join,right join
Mysql之inner join,left join,right join详解inner join(等值连接):只返回两个表中联结字段相等的行;left join(左联接):返回包括左表中的所有记录和右表中联结字段相等的记录;right join(右联接):返回包括右表中的所有记录和左表中联结字段相等的记录。比如我们有xs、cj两个表xs表转载 2017-10-13 20:59:17 · 311 阅读 · 0 评论 -
mysql 联合索引的命中规则
首先明确:为什么要用联合索引?对于查询语句“SELECT E.* FROM E WHERE E.e1=1 AND E.e3=2”涉及到两列,这个时候我们一般采用一个联合索引(e1, e3);而不用两个单列索引,这是因为一条查询语句往往应为mysql优化器的关系只用一个索引,就算你有两个索引,他也只用一个;在只用一个的基础之上,联合索引是会比单列索引要快的;下面讲讲联合索引的使用规则和哪些情原创 2017-10-02 11:43:00 · 10519 阅读 · 2 评论 -
MySql全文索引
MySql全文索引使用索引是数据库性能优化的必备技能之一。在MySQL数据库中,有四种索引:聚集索引(主键索引)、普通索引、唯一索引以及我们这里将要介绍的全文索引(FULLTEXT INDEX)。全文索引(也称全文检索)是目前搜索引擎使用的一种关键技术。它能够利用「分词技术「等多种算法智能分析出文本文字中关键字词的频率及重要性,然后按照一定的算法规则智能地筛选出我们想要的搜索结果。在这转载 2017-09-30 09:21:57 · 4132 阅读 · 2 评论 -
数据库优化——选择合适的字段类型
目的:优化字段的数据类型进行数据库优化记住一个原则,越小的列会越快。如果一个表只会有几列罢了(比如说字典表,配置表),那么,我们就没有理由使用 INT来做主键,使用 MEDIUMINT, SMALLINT或是更小的 TINYINT会更经济一些。如果你不需要记录时间,使用 DATE要比 DATETIME好得多。当然,你也需要留够足够的扩展空间。以下是转载:原创 2017-09-30 09:08:51 · 2098 阅读 · 0 评论 -
数据库锁机制 很详细的教程,易懂
1 前言数据库大并发操作要考虑死锁和锁的性能问题。看到网上大多语焉不详(尤其更新锁),所以这里做个简明解释,为下面描述方便,这里用T1代表一个数据库执行请求,T2代表另一个请求,也可以理解为T1为一个线程,T2 为另一个线程。T3,T4以此类推。下面以SQL Server(2005)为例。2 锁的种类共享锁(Shared lock)。例1:--------转载 2017-05-18 22:38:30 · 12169 阅读 · 4 评论 -
数据库事务并发问题描述
数据库事务并发问题 多个事务同时访问数据库时候,会发生下列5类问题,包括3类数据读问题(脏读,不可重复读,幻读),2类数据更新问题(第一类丢失更新,第二类丢失更新):1,脏读(dirty read)A事务读取B事务尚未提交的更改数据,并在这个数据基础上操作。如果B事务回滚,那么A事务读到的数据根本不是合法的,称为脏读。在oracle中,由于有version控制,不会出现脏读。原创 2017-05-18 08:32:20 · 432 阅读 · 1 评论 -
数据库分库分表(sharding)(一)——基本思想、拆分策略和拆分所带来的问题
数据库分库分表(sharding)(一)——基本思想和切分策略一、基本思想 分库分表的目的就是讲一个数据库切分成多个部分放到不同的数据库上,以便缓解单一数据库的性能问题。 举个例子吧,当你面对海量数据的数据库时,若归因为表多导致的数据量大的话,建议采用垂直切分,就是把关系紧密(比如一个应用模块的表)的表 放在一个数据库(server)。如果表并不多,但是每张原创 2017-11-18 11:14:06 · 4440 阅读 · 0 评论