数据库
番茄发烧了
一介匹夫 随心而去
展开
-
教你创建Oracle复合索引(精)
什么是复合索引?复合索引顾名思义,区别于单列索引,是由两个或多个列一起构成的索引。其在B树上的数据结构是什么样?如下图,是一个包含两列的复合索引。如果你观察仔细,还会发现它的叶子节点是ASC递增排序的。现根据第一个值排序,然后根据第二个值排序。查的时候也一样,先查第一个值,在查第二个值。你可以想象以下,三个列组成的复合索引数据结构该是什么样的。在实际开发中,我们经常会遇到创建表的情况。一...原创 2018-11-13 20:43:39 · 23424 阅读 · 0 评论 -
带你认识Oracle索引类型(全面总结)
Oracle索引和MySQL索引是一个概念,都是为了提高数据库查询效率,例如字典的目录,就是一种索引。不同的索引有不同的查询效率,比如字典的目录有以拼音首字母的,有偏旁部首的。当我们对所有索引类型有了了解之后,就可以针对性的写出高效的SQL语句、建立最合适的索引。那Oracle索引都有哪些类型呢?首先我们来看一下索引的数据结构:B树在介绍之前,首先建立一张表create table tes...原创 2018-11-13 19:48:07 · 17126 阅读 · 4 评论 -
Oracle的索引分裂和索引维护(精)
索引不是建好了就行了?难道还需要维护?带着这个问题,开启本篇博客。我们知道索引的数据结构是B树,每次更新数据都会对索引进行更新,所以如果是一张订单表,看起来这张表会一直在增长,并且订单表会经受一定的高并发考验(比如各种大促活动,秒杀活动)。对于开发人员来说,好像只对表操作就可以了,不用管oracle是如何做的,但实际上,若想清清楚楚、明明白白了解你写的接口,只有业务逻辑可不行,必须深入去知道索引...原创 2018-11-14 20:02:54 · 5077 阅读 · 0 评论 -
索引失效的情况有哪些?索引何时会失效?(全面总结)
虽然你这列上建了索引,查询条件也是索引列,但最终执行计划没有走它的索引。下面是引起这种问题的几个关键点。列与列对比某个表中,有两列(id和c_id)都建了单独索引,下面这种查询条件不会走索引select * from test where id=c_id;这种情况会被认为还不如走全表扫描。存在NULL值条件我们在设计数据库表时,应该尽力避免NULL值出现,如果非要不可避免的要出现NU...原创 2018-11-16 09:57:40 · 30983 阅读 · 8 评论 -
全面总结Oracle中的分区表(精)
何时使用分区表分区表是对表按照规则进行划分,这个是要根据业务场景来确定的。建议值1 大于2G的表2 分区键必须反应业务需求,CUDR尽量不要跨分区操作如果通过有效隔离,全表扫描就变成了分区扫描,降低IO,但如果已经使用索引,且结果集较小时,做分区不一定会提高效率,这点要注意。分区表设计思路分区的数据要尽量保持均匀,偏差控制在20%左右。分区键的选择不应经常被UPDATE,要避免NUL...原创 2018-11-15 10:51:41 · 570 阅读 · 0 评论 -
MongoDB初步认识
NoSQL数据库NoSQL数据库姑且这么理解是为了解决传统关系型数据库在高并发、大数据场景中的劣势而诞生的一种数据库。NoSQL是一类数据库的统称包括,根据数据模型对其进行分类如下。从图中可以看到MongoDB的数据模型为文档型。基本使用库操作一个mongodb中可以建立多个数据库。MongoDB的单个实例可以容纳多个独立的数据库,每一个都有自己的集合和权限,不同的数据库也放置在不同的...原创 2018-12-04 16:03:53 · 276 阅读 · 0 评论 -
Memcache官网文档精选整理
MemCache全名可以看做MemoryCache。功能是做缓存。为什么不说他是一个缓存数据库呢,因为它很轻量,只是存储一般的K-V键值对,相比Redis而言,Redis功能更多,比如分布式、持久化、支持的数据结构多这些特点而言,MemCache更简单,只基于LruCache做缓存。硬件层:1、如果你有4G内存,Server APP用了2G,那给Memcache分配1.5G就可以2、不要把M...原创 2018-11-30 15:04:19 · 976 阅读 · 0 评论 -
MongoDB进步认识
关系关系型数据库中有1对1、1对多、多对1、多对多关系,MongoDB也一样。MongoDB用BSON组织数据,这一点要灵活很多。实例:一个人有多个地址。我们可以有两张表来存放,一个user表、一个address表。user和address是一对多关系。看user表中的一个document{ "_id":ObjectId("72355788888abcf289bc9cc4"), ...原创 2018-12-05 16:09:21 · 490 阅读 · 0 评论 -
MongoDB稳步认识
事务MongoDB没有事务。为了扩展性MongoDB取消了事务,主要是多服务器上的分布式事务问题,如果多服务器保证事务,需要引入很多其他和数据库本身不相关的中间件和逻辑。当然不能说分布式事务有什么问题,而是这是MongoDB的设计理念。那如何实现关系型数据库的事务操作呢?这说到底是一种原子性。在MongoDB中,为了保证操作字段的原子性,有以下几种方案。首先看一个解决方案,感觉几种事务解...原创 2018-12-06 14:27:22 · 183 阅读 · 0 评论