数据库
文章平均质量分 71
heqianqiann
每一个不曾起舞的日子都是对生命的辜负
展开
-
NOSQL 数据库分类
类型 部分代表 特点 列存储 HbaseCassandraHypertable 顾名思义,是按列存储数据的。最大的特点是方便存储结构化和半结构化数据,方便做数据压缩,对针对某一列或者某几列的查询有非常大的IO优势。 文档存储 MongoDBCouchDB 文档存储一般用类似json的格式存储,存储的内容是文档型的。这样也就有有机会对某些字段建立索引,实现关系数据库的某些原创 2017-05-04 10:36:59 · 505 阅读 · 0 评论 -
数据库 SQL实战练习
一觉醒来想练练SQL,顺便归纳总结下题目1.on和where的区别看下面两个例子数据库表都是dept_emp部门表和employees职员表CREATE TABLE `dept_emp` ( `emp_no` int(11) NOT NULL, `dept_no` char(4) NOT NULL, `from_date` date NOT NULL, `to_date` date NOT NULL原创 2017-10-06 15:08:19 · 2132 阅读 · 0 评论 -
MySQL 对于千万级的大表要怎么优化?
很多人第一反应是各种切分;我给的顺序是:第一优化你的sql和索引;第二加缓存,memcached,redis;第三以上都做了后,还是慢,就做主从复制或主主复制,读写分离,可以在应用层做,效率高,也可以用三方工具,第三方工具推荐360的atlas,其它的要么效率不高,要么没人维护;第四如果以上都做了还是慢,不要想着去做切分,mysql自带分区表,先试试这个,对你的应用是透明的,无需更改代码,但是sql转载 2017-09-01 11:21:13 · 374 阅读 · 0 评论 -
MySQL 索引背后的数据结构及算法原理
摘要本文以MySQL数据库为研究对象,讨论与数据库索引相关的一些话题。特别需要说明的是,MySQL支持诸多存储引擎,而各种存储引擎对索引的支持也各不相同,因此MySQL数据库支持多种索引类型,如BTree索引,哈希索引,全文索引等等。为了避免混乱,本文将只关注于BTree索引,因为这是平常使用MySQL时主要打交道的索引,至于哈希索引和全文索引本文暂不讨论。文章主要内容分为三个部分。第一部分主要从数转载 2017-09-26 21:02:27 · 1996 阅读 · 0 评论 -
数据库原理 数据库组件概况
一 时间复杂度 二 归并排序 合并 拆分阶段 排序阶段 三 阵列树和哈希表 阵列 树和数据库索引 哈希表一. 时间复杂度时间复杂度用来检验某个算法处理一定量的数据要花多长时间。这个表示法用一个函数来描述算法处理给定的数据需要多少次运算。重要的不是数据量,而是当数据量增加时运算如何增加。时间复杂度不会给出确切的运算次数,但是给出的是一种理念。图中可以看到不同类型的复杂度的演变过程,我用了对数尺来建这个转载 2017-08-31 11:05:20 · 2061 阅读 · 0 评论 -
数据库 脏读、不可重复读和幻读的区别
1.脏读 读取另外一个事务没有提交的数据 解决方法: 把事务的隔离级别调整到READ_COMMITTED2.不可重复读 同一个事务中 两个相同的查询返回了不同的结果 在一个事务A第一次读取之后 另一个事务B对数据进行了修改并且在A之前提交 此时A第二次读取的数据和第一次不同 解决方法: 把数据库的事务隔离级别调整到REPEATAB原创 2017-08-31 19:33:44 · 484 阅读 · 0 评论 -
数据库优化 SQL语句优化
开启慢查询日志1.1 使用MySQL慢查询日志对有效率问题的SQL进行监控1)查看mysql是否开启慢查询日志show variables like 'slow_query_log'; 2)设置没有索引的记录到慢查询日志set global log_queries_not_using_indexes=on; 3)查看超过多长时间的sql进行记录到慢查询日志show variables like 'l原创 2017-04-26 10:51:27 · 594 阅读 · 0 评论 -
数据库原理 数据库全局概览
一核心组件 客户端管理器 二查询管理器 查询解析器 查询重写器 统计 查询优化器 索引 存取路径 联接运算符 查询执行器 三数据管理器 缓存管理器 1 预读 2 缓冲区置换策略 事务管理器 ACID属性 隔离级别 并发控制 锁管理器 数据版本控制乐观锁 日志管理器 WAL 预写式日志 ARIES 数据库恢复原型算法可以看到上图将数据库分为四个模块,分别是核心组件,查询管理器,数据管理器和工具类 核心转载 2017-08-31 10:45:39 · 1145 阅读 · 0 评论 -
DRUID连接池的实用 配置详解
DRUID介绍 DRUID是阿里巴巴开源平台上一个数据库连接池实现,它结合了C3P0、DBCP、PROXOOL等DB池的优点,同时加入了日志监控,可以很好的监控DB池连接和SQL的执行情况,可以说是针对监控而生的DB连接池(据说是目前最好的连接池,不知道速度有没有BoneCP快)。 配置参数 和其它连接池一样DRUID的DataSour转载 2017-03-10 11:15:00 · 2417 阅读 · 0 评论 -
数据库 内连接、外连接、交叉连接总结
内连接 INNER JOIN定义:仅将两个表中满足连接条件的行组合起来作为结果集。 在内连接中,只有在两个表中匹配的行才能在结果集中出现SELECT 列名表 FROM 表名1 [INNER] JOIN 表名2 ON或WHERE 条件表达式 分为三种: 等值连接 在连接条件中使用等于号(=)运算符比较被连接列的列值,其查询结果中列出被连接表中的所有列,包括其中的重复列。 自然连接 在连接条件中原创 2017-10-06 16:13:44 · 2292 阅读 · 0 评论