![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据库设计
云水之路
架构攻城师
展开
-
Mysql视图使用总结
视图可以看作为“虚拟表”,因为它返回的结果集格式与实体数据表返回的数据集格式类似,并且引用视图的方式与引用数据表的方式相同。每次查询使用视图时,DBMS会动态生成视图结果集所需要的逻辑合并到从基表数据生成的结果集逻辑中。(技术讨论群:276592700(新))原创 2016-03-20 16:53:11 · 5191 阅读 · 2 评论 -
MongoDB高级部分及实现(二)
MongoDB是由C++语言所编写的一种面向文档的非关系型数据库(是一种NoSql数据库实现),也是介于关系型数据库和非关系型数据库之间的数据存储产品,其提供了高性能、高可用、高可拓展及基于分布式存储的数据库,是非关系型数据库中功能最丰富,最类似关系型数据库的一种集合、文档格式的数据库。 正则使用 管理工具 固定集合 自动赠长原创 2016-10-03 11:58:17 · 1327 阅读 · 0 评论 -
MongoDB高级部分及实现(一)
MongoDB是由C++语言所编写的一种面向文档的非关系型数据库(是一种NoSql数据库实现),也是介于关系型数据库和非关系型数据库之间的数据存储产品,其提供了高性能、高可用、高可拓展及基于分布式存储的数据库,是非关系型数据库中功能最丰富,最类似关系型数据库的一种集合、文档格式的数据库。 文档关系 原子操作 ObjectID Map Reduce GridFS原创 2016-09-29 17:54:36 · 2777 阅读 · 0 评论 -
MongoDB基础部分及实现(一)
MongoDB是由C++语言所编写的一种面向文档的非关系型数据库(是一种NoSql数据库实现),也是介于关系型数据库和非关系型数据库之间的数据存储产品,其提供了高性能、高可用、高可拓展及基于分布式存储的数据库,是非关系型数据库中功能最丰富,最类似关系型数据库的一种集合、文档格式的数据库。 优点区别 数据模型 数据操作 语言拓展原创 2016-09-20 19:20:39 · 2998 阅读 · 0 评论 -
MongoDB基础部分及实现(二)
MongoDB是由C++语言所编写的一种面向文档的非关系型数据库(是一种NoSql数据库实现),也是介于关系型数据库和非关系型数据库之间的数据存储产品,其提供了高性能、高可用、高可拓展及基于分布式存储的数据库,是非关系型数据库中功能最丰富,最类似关系型数据库的一种集合、文档格式的数据库。 索引 分析 聚合 监控原创 2016-09-23 11:22:14 · 1000 阅读 · 0 评论 -
数据表分割策略和实现
数据表分割策略和实现:为什么要对数据表进行分割?就是因为随着数据量的不断激增,某张的表的记录数也飞速增长,这就给数据表操作造成性能影响。虽然,实际中会对数据表进行索引和查询等相关优化或者是做数据库集群和分区等优化,但是不论怎么优化,数据量的增加势必会导致数据表的操作受到影响,所以针对大数据表有必要进行分表。另外,分表可以按照业务紧密度和单表进行分割,前者属于垂直分割数据表,就是将业务紧密度高并且增长速度快的多张表划入到同一个数据库(此中分割往往会破坏表间关联关系),而后者是将一张或几张大数据量表中的数据分原创 2016-05-23 19:06:21 · 2989 阅读 · 0 评论 -
Mysql索引及优化使用总结
在关系数据库中,索引的使用十分重要,而且所有的关系数据库支持索引机制,因为有了索引之后,在大数据量检索数据时速度很快,性能消耗很低;当然,凡事有利必有弊,增加索引也会增加数据库系统的开销,我们很多时候需要在性能和检索间折中设计,而且正确使用索引及对他维护和优化是很重要的!• 索引的类型?• 索引的原理?• 何时建索引?• 索引的使用?• 索引的优化?原创 2016-03-26 22:23:13 · 6186 阅读 · 2 评论 -
分库分表的策略及实施(二)
分库分表的策略及实施(二):一、分库策略 1、准备阶段对数据库进行分库分表前,需要开发人员充分了解业务逻辑和数据库中表间语法结构,建议绘制一张数据库ER图,以这类图为基础划分shard,可以确保开发人员始终保持明晰的思路。 2、分析阶段A、垂直切分垂直切分也就是对业务相关,速度增长速率类似的数据表划分在一个Shard中,而这些Shard可被分在一个或是不同的数据原创 2016-05-27 16:58:05 · 664 阅读 · 0 评论 -
分库分表的策略及实施(一)
分库分表的策略及实施(一):为什么要对数据库拆分?是因为随着数据量的增多,单个数据库存储全部的数据时,在对该库检索时的IO吞吐率较低,数据存储在单一的硬盘介子中,存在单点和单个介子存储数据过大的问题。那么这里主要介绍如何将单一数据库的数据拆分到多个数据库中,以及如何将大数据量的表拆分到多张小表的过程,对于前者的拆分我们称之为数据库的垂直拆分,而后者我们称之为水平分割(Sharding),本篇文章主要介绍切分原理。原创 2016-05-26 15:21:24 · 1786 阅读 · 0 评论 -
数据表分区策略及实现(二)
本篇文章主要介绍数据表分区的管理、优化及复合分区三部分内容,对于数据表分区的原理、实现及验证的内容,可以查看文章《数据表分区策略及实现(一)》,访问地址:http://blog.csdn.net/why_2012_gogo/article/details/51492573而这里我们主要介绍表分区的添加、删除、修改以及查询,分区的优化以及复合分区。原创 2016-05-25 16:41:11 · 2048 阅读 · 0 评论 -
数据表分区策略及实现(一)
什么是表分区?表分区其实就是将一张大数据量表中的数据按照不同的分区策略分配到不同的系统分区、硬盘或是不同的服务器设备上,实现数据的均衡分配,这样做的好处是均衡大数据量数据到不同的存储介子中,这样每个分区均摊了一部分数据,然后可以定位到指定的分区中,对数据表进行需求操作,另外,也方便管理水表,比如要删除某个时间段的数据,就可以按照日期分区,然后直接删除该日期分区即可,并且效率相对于传统的DELETE数据效率高很多,这里以Mysql为例进行说明。原创 2016-05-24 18:37:44 · 14618 阅读 · 0 评论 -
Mysql安装与配置总结
对于Mysql数据库相关信息,这里不做介绍总结,有需要的同学可查阅相关的资料。另外,本篇总结文章主题在于Mysql的安装、配置及服务操作。• 安装• 配置• 操作原创 2016-04-10 18:21:04 · 1113 阅读 · 0 评论 -
Mysql存储过程使用总结
存储过程是MYSQL在5.0版本开始支持的,它一个被定义并保存在数据库服务器中的SQL语句集,是一种介于应用程序和数据库间的编程接口,也是封装重复性工作的一种有效方法,它支持用户变量、条件执行及其它的编程功能,具体如下: • 存储过程的用途• 存储过程的语法• 存储过程的使用原创 2016-03-24 15:11:30 · 762 阅读 · 0 评论 -
Mysql事务使用总结
Mysql事务主要用来处理数据量大、数据复杂度高的数据操作,最经典的使用场景是银行的转账:需要先从银行账户A中取出钱,然后再存入银行账户B中,如果中间出现问题,而没有事务的保证,那么就会出现B收不到钱,而A支出钱又回不到自己的账户的严重问题,那么有了事务机制,这个问题就解决了。(技术讨论群:276592700(新))原创 2016-03-22 11:46:12 · 9257 阅读 · 1 评论 -
MongoDB研究总结之索引部分
MongoDB研究总结之索引部分MongoDB是由C++语言所编写的一种面向文档的非关系型数据库(是一种NoSql数据库实现),也是介于关系型数据库和非关系型数据库之间的数据存储产品,其提供了高性能、高可用、高可拓展及基于分布式存储的数据库,是非关系型数据库中功能最丰富,最类似关系型数据库的一种集合、文档格式的数据库。 覆盖查询 高级索引 全文检索原创 2016-10-04 16:53:40 · 608 阅读 · 0 评论