Database
文章平均质量分 87
GarfieldEr007
这个作者很懒,什么都没留下…
展开
-
MySQL优化器:index merge介绍
在MySQL官方手册上,关于index merge的介绍非常非常少。甚至还有不少误导的地方,这次把5.1版本关于此类优化处理的代码细看了一遍,以案例的方式介绍了各种实用index merge访问类型的SQL。后续的还会继续介绍index merge实现的主要数据结构,以及成本评估。1. 什么是index mergeMySQL优化器如果发现可以使用多个索引查找后的交集/并集定位数据,那么MySQL优化器就会尝试index merge这类访问方式。index merge主要分为两大类,多个索引交集访问(转载 2020-05-26 21:22:50 · 1685 阅读 · 0 评论 -
MySQL 优化之 index merge(索引合并)
深入理解 index merge 是使用索引进行优化的重要基础之一。理解了 index merge 技术,我们才知道应该如何在表上建立索引。1. 为什么会有index merge我们的 where 中可能有多个条件(或者join)涉及到多个字段,它们之间进行 AND 或者 OR,那么此时就有可能会使用到 index merge 技术。index merge 技术如果简单的说,其实就是:对多个索引分别进行条件扫描,然后将它们各自的结果进行合并(intersect/union)。MySQL5.0之前转载 2020-05-26 21:20:30 · 1289 阅读 · 0 评论 -
MySQL 优化之 index merge(索引合并)
深入理解 index merge 是使用索引进行优化的重要基础之一。理解了 index merge 技术,我们才知道应该如何在表上建立索引。1. 为什么会有index merge我们的 where 中可能有多个条件(或者join)涉及到多个字段,它们之间进行 AND 或者 OR,那么此时就有可能会使用到 index merge 技术。index merge 技术如果简单的说,其实就是:对多个索引分别进行条件扫描,然后将它们各自的结果进行合并(intersect/union)。MySQL5.0之前转载 2020-05-26 21:19:33 · 1477 阅读 · 0 评论 -
MySQL 优化之 index merge(索引合并)
深入理解 index merge 是使用索引进行优化的重要基础之一。理解了 index merge 技术,我们才知道应该如何在表上建立索引。1. 为什么会有index merge我们的 where 中可能有多个条件(或者join)涉及到多个字段,它们之间进行 AND 或者 OR,那么此时就有可能会使用到 index merge 技术。index merge 技术如果简单的说,其实就是:对多个索引分别进行条件扫描,然后将它们各自的结果进行合并(intersect/union)。MySQL5.0之前转载 2020-05-26 21:18:56 · 985 阅读 · 0 评论 -
MySQL的limit用法和分页查询的性能分析及优化
一、limit用法在我们使用查询语句的时候,经常要返回前几条或者中间某几行数据,这个时候怎么办呢?不用担心,mysql已经为我们提供了这样一个功能。SELECT * FROM table LIMIT [offset,] rows | `rows OFFSET offset ` (LIMIT offset, `length`)SELECT*FROM tablewhere cond...转载 2019-12-30 21:25:52 · 701 阅读 · 0 评论 -
MongoDB【快速入门】
1.MongDB 简介MongoDB(来自于英文单词“Humongous”,中文含义为“庞大”)是可以应用于各种规模的企业、各个行业以及各类应用程序的开源数据库。作为一个适用于敏捷开发的数据库,MongoDB 的数据模式可以随着应用程序的发展而灵活地更新。与此同时,它也为开发人员 提供了传统数据库的功能:二级索引,完整的查询系统以及严格一致性等等。 MongoDB 能够使企业更加具有敏捷...转载 2019-10-28 20:45:51 · 610 阅读 · 0 评论 -
MySQL索引背后的数据结构及算法原理
摘要本文以MySQL数据库为研究对象,讨论与数据库索引相关的一些话题。特别需要说明的是,MySQL支持诸多存储引擎,而各种存储引擎对索引的支持也各不相同,因此MySQL数据库支持多种索引类型,如BTree索引,哈希索引,全文索引等等。为了避免混乱,本文将只关注于BTree索引,因为这是平常使用MySQL时主要打交道的索引,至于哈希索引和全文索引本文暂不讨论。文章主要内容分为三个部分转载 2016-01-05 13:06:47 · 1129 阅读 · 0 评论 -
一致性哈希算法及其在分布式系统中的应用
摘要本文将会从实际应用场景出发,介绍一致性哈希算法(Consistent Hashing)及其在分布式系统中的应用。首先本文会描述一个在日常开发中经常会遇到的问题场景,借此介绍一致性哈希算法以及这个算法如何解决此问题;接下来会对这个算法进行相对详细的描述,并讨论一些如虚拟节点等与此算法应用相关的话题。分布式缓存问题假设我们有一个网站,最近发现随着流量增加,服务器压力越来越大转载 2016-01-05 13:08:15 · 962 阅读 · 0 评论 -
SQLite数据库存储
因为前面提到xml存储更改文件很麻烦的缘故,最终还是选择了使用数据库存储一试才觉十分的方便,速度也快上源码:[java] view plaincopypublic class DBHelper extends SQLiteOpenHelper{ private final static String D转载 2016-01-13 11:14:34 · 944 阅读 · 0 评论 -
十五分钟介绍 Redis数据结构
十五分钟介绍 Redis数据结构作者:nosqlfan on 星期六, 十月 8, 2011 · 9条评论 【阅读:101,390 次】下面是一个对Redis官方文档《A fifteen minute introduction to Redis data types》一文的翻译,如其题目所言,此文目的在于让一个初学者能通过15分钟的简单学习对Redis的数据结构转载 2016-03-28 11:24:54 · 992 阅读 · 0 评论 -
2013年中国数据库大会PPT
干货来了!!2013年中国数据库大会刚刚闭幕,PPT已经提供下载。分享给各位。微盘打包下载:http://vdisk.weibo.com/s/ANRGLyceAFCQ大数据革命.pdfMPPGet for. Contains: cialis vs viagra mycomax.com was this there several http://www.mimarea转载 2016-03-28 11:26:05 · 1455 阅读 · 0 评论 -
Redis资料汇总专题
很多朋友反映,说NoSQLFan上的资料不少,但是要找到自己实用的太难,于是萌生做这样一个专题的想法。通过将不同NoSQL产品从入门到精通的各种资料进行汇总,希望能够让大家更快的找到适合自己的教程或文章进行阅读。最后更新时间:2013-04-221.Redis是什么?十五分钟介绍 Redis数据结构Redis系统性介绍一个很棒的Redis介绍PPT强烈推荐!非同一般的R转载 2016-03-28 11:26:19 · 1093 阅读 · 0 评论 -
MySQL索引原理及慢查询优化
MySQL凭借着出色的性能、低廉的成本、丰富的资源,已经成为绝大多数互联网公司的首选关系型数据库。虽然性能出色,但所谓“好马配好鞍”,如何能够更好的使用它,已经成为开发工程师的必修课,我们经常会从职位描述上看到诸如“精通MySQL”、“SQL语句优化”、“了解数据库原理”等要求。我们知道一般的应用系统,读写比例在10:1左右,而且插入操作和一般的更新操作很少出现性能问题,遇到最多的,也是最容易出问转载 2016-04-15 12:31:53 · 882 阅读 · 0 评论 -
如果有人问你关系数据库的工作原理,叫他看这篇文章How does a relational database work
When it comes to relational databases, I can’t help thinking that something is missing. They’re used everywhere. There are many different databases: from the small and useful SQLite to the powerful Te转载 2016-05-11 17:29:25 · 5759 阅读 · 0 评论 -
Redis 起步
Rdis和JQuery一样是纯粹为应用而产生的,这里记录的是在CentOS 5.7上学习入门文章:1.Redis简介 Redis是一个key-value存储系统。和Memcached类似,但是解决了断电后数据完全丢失的情况,而且她支持更多无化的value类型,除了和string外,还支持lists(链表)、sets(集合)和zsets(有序集合)几种数据类型。这些数据类型都支持push/p转载 2016-05-03 14:43:21 · 912 阅读 · 0 评论 -
Oracle编程入门经典 第1章 了解Oracle
基本概念。什么是数据库?什么是实例?什么是模式?Oracle的基本术语?什么是SYS和SYSTEM?Oracle数据库的一些变化版本1.1 Oracle基本术语1.1.1 数据库Oracle是业界具有领导地位的关系数据库管理系统(RDBMS)的名称。术语数据库是指运行数据库所需的所有文件(包括数据文件、临时数据文件、重做日志文件、控制文件以及参转载 2016-04-19 12:31:44 · 970 阅读 · 0 评论 -
Oracle编程入门经典 第2章 SQLPlus和基本查询
怎样使用SQL*Plus工具连接数据库以及执行查询怎样配置SQL*Plus,以格式化查询结果SQL语句的不同种类怎样在数据库上编写查询来查看数据怎样修改存储在数据库中的数据2.1 SQL*Plus简介SQL*Plus是一个用于连接Oracle数据库的工具,具有可以满足Oracle用户和管理员需求的大量功能,包括:在数据库中执行SQL和PL/SQL更新数据库中的数据执行数据查转载 2016-04-19 12:32:47 · 1371 阅读 · 0 评论 -
Oracle编程入门经典 第3章 建立以及管理用户和表
数据定义语言(DDL)。怎样建立我们自己的用户账号。可以用于Oracle表的不同数据类型。怎样在表上建立约束。怎样使用数据词典获取与数据库中对象有关的信息。3.1 数据定义语言DDL通常用于建立和管理数据库。它可以使用SQL建立对象、配置数据库安全、管理统计数据以及完成其它功能。在第2章中,我COMMIT和ROLLBACK。在表中执行插入、更新和删除等操作之后使用COMMI转载 2016-04-19 12:35:37 · 1153 阅读 · 0 评论 -
Oracle编程入门经典 第4章 新9i示例模式
Oracle 9i产品帮助文档:http://docs.oracle.com/cd/B10501_01/index.htm可根据自己需要进行查询,包含了众多的文档。 Sample Schemas的目录:http://docs.oracle.com/cd/B10501_01/server.920/a96539/toc.htm Sample Sc转载 2016-04-19 12:37:22 · 1219 阅读 · 0 评论 -
Oracle编程入门经典 第6章 在Oracle中处理语句
6.1 SQL语句类别DDL:数据定义语言语句。这样的语句有CREATE、TRUNCATE和ALTER,它们用于建立数据库中的结构,设置许可等。用户可以使用它们维护Oracle数据词典。DML:数据操作语言语句。这些语句可以修改或者访问信息,包括INSERT、UPDATE和DELETE。查询:这是用户的标准SELECT语句。查询是指那么返回数据但是不修改数据的语句,是DML语句的子转载 2016-04-19 12:38:12 · 1021 阅读 · 0 评论 -
Oracle编程入门经典 第7章 表
表是在行和列中存储数据的基本结构。而且,就如同Oracle向数据库整体增加特性一样,随着时间失衡,它也增强了表的概念,以适应更加复杂的应用要求。在本章中,我们将要讨论:Oracle中最常用的表类型,以及用户为什么要使用各种类型。用户在Oracle中将会遇到的表特性,它们可以影响表的操作方式。怎样ALTER、DROP和TRUNCATE表7.1 介绍Oracle中的表转载 2016-04-19 12:39:00 · 1388 阅读 · 0 评论 -
Oracle编程入门经典 第8章 索引
目录8.1 索引工作方式... 18.2 Oracle中的索引... 18.3 索引什么时候有用... 48.4 索引开销... 78.4.1 插入行怎样影响索引... 78.4.2 更新和删除行如何影响索引... 138.4.3 DML和索引... 188.5转载 2016-04-19 12:39:46 · 1298 阅读 · 0 评论 -
Oracle编程入门经典 第9章 掌握SQL*Plus
目录9.1 高级启动选项... 19.1.1 LOGON.. 29.1.2 设置描述文件... 29.1.3 START. 4试验:调用SQL*Plus. 6工作原理... 69.1.4 GUI SQL*Plus的启动选项... 69.2 日常使用SQL*转载 2016-04-19 12:41:49 · 1999 阅读 · 0 评论 -
Oracle编程入门经典 第10章 PLSQL
目录10.1 总览... 110.2 基于程序块的开发... 1试验:PL/SQL程序块... 2工作原理... 2块嵌套... 210.3 声明... 310.3.1 变量和常量... 310.3.2 为变量和常量赋值... 510.3.3 可视性和作用域... 51转载 2016-04-19 12:42:42 · 1625 阅读 · 0 评论 -
Oracle编程入门经典 第11章 过程、函数和程序包
目录11.1 优势和利益... 111.2 过程... 111.2.1 语法... 211.2.2 建立或者替换... 211.2.3 执行存储过程... 311.2.4 安全... 3试验:访问过程... 311.2.5 参数... 511.2.6 局域转载 2016-04-19 12:44:38 · 1481 阅读 · 0 评论 -
Oracle编程入门经典 第12章 事务处理和并发控制
目录12.1 什么是事务处理... 112.2 事务处理控制语句... 112.2.1 COMMIT处理... 212.2.2 ROLL BACK处理... 212.2.3 SAVEPOINT和ROLL BACK TO SAVEPOINT. 312.2.4 SET TRANSACTION..转载 2016-04-19 12:45:19 · 1755 阅读 · 0 评论 -
C#远程访问linux(ubuntu)或windows的mysql数据库
1、远程访问数据库大概模型2、mysql在win7、linux上如何设置:2.1、分配权限(linux和win7)进行mysql命令行,进行分配权限、执行GRANTALLPRIVILEGESON*.*TO'Lucy'@'192.168.1.102' IDENTIFIED BY'123'WITHGRANTOPTION;ALL PRIVILEGES分配所转载 2016-04-19 12:50:19 · 1680 阅读 · 0 评论 -
ExtJs、ASP.net运用Linq to SQL与SQL储存过程交互
1 基本要点 1.1 Grid后台分页 1.2 Form表单提交 1.3 前台更新、删除(store.remove)、增加(store.insert) 1.4 有webService、aspx、Handler三种方法,此处使用Handler 1.5 使用Linq to SQL进行读取数据 和 SQL储存过程的操作 1.6 文件结构转载 2016-04-19 12:51:16 · 1232 阅读 · 0 评论 -
浅析数据一致性
什么是数据一致性?在数据有多分副本的情况下,如果网络、服务器或者软件出现故障,会导致部分副本写入成功,部分副本写入失败。这就造成各个副本之间的数据不一致,数据内容冲突。 实践中,导致数据不一致的情况有很多种,表现样式也多种多样,比如数据更新返回操作失败,事实上数据在存储服务器已经更新成功。CAP定理CAP定理是2000年,由 Eric Brewer 提出来的。Brewe转载 2016-07-18 23:20:48 · 943 阅读 · 0 评论 -
MySQL的binlog日志
binlog 基本认识 MySQL的二进制日志可以说是MySQL最重要的日志了,它记录了所有的DDL和DML(除了数据查询语句)语句,以事件形式记录,还包含语句所执行的消耗的时间,MySQL的二进制日志是事务安全型的。 一般来说开启二进制日志大概会有1%的性能损耗(参见MySQL官方中文手册 5.1.24版)。二进制有两个最重要的使用场景: 其一:MySQL Repli转载 2016-12-16 22:58:41 · 861 阅读 · 0 评论 -
初探 MySQL 的 Binlog
花瓣网的搜索架构需要重构,尤其是在索引建立或者更新层面。 目前的一个架构导致的结果就是时间越久,数据本体与搜索引擎索引中的数据越不同步,相差甚大。 新的一个架构打算从 MySQL 的 Binlog 中读取数据更新、删除、新增等历史记录,并把相应信息提取出来丢到队列中慢慢去同步。 所以我就在这里小小去了解一下 Binlog。准备工作什么是 Binlog转载 2016-12-16 22:59:53 · 1011 阅读 · 0 评论 -
MySQL误操作后如何快速恢复数据
基本上每个跟数据库打交道的程序员(当然也可能是你同事)都会碰一个问题,MySQL误操作后如何快速回滚?比如,delete一张表,忘加限制条件,整张表都没了。假如这还是线上环境核心业务数据,那这事就闹大了。误操作后,能快速回滚数据是非常重要的。传统解法用全量备份重搭实例,再利用增量binlog备份,恢复到误操作之前的状态。然后跳过误操作的SQL,再继续应用binlog。此法费时费力,转载 2016-12-16 23:01:06 · 11855 阅读 · 1 评论 -
初探 MySQL 的 Binlog
花瓣網的搜索架構需要重構,尤其是在索引建立或者更新層面。 目前的一個架構導致的結果就是時間越久,數據本體與搜索引擎索引中的數據越不同步,相差甚大。 新的一個架構打算從 MySQL 的 Binlog 中讀取數據更新、刪除、新增等歷史記錄,並把相應信息提取出來丟到隊列中慢慢去同步。 所以我就在這裏小小去了解一下 Binlog。準備工作什麼是 Binlog转载 2016-12-16 23:02:33 · 968 阅读 · 0 评论 -
MySQL的分表和分区介绍
原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://dbspace.blog.51cto.com/6873717/1882681 在日常开发或维护中经常会遇到大表的情况,所谓的大表是指存储了百万级乃至千万级条记录的表。这样的表过于庞大,导致数据库在查询和插入的时候耗时太长,性能低下,如果涉及联合查询的情况,性能会更转载 2016-12-21 22:38:47 · 3181 阅读 · 0 评论 -
mysql dba系统学习(1)mysql各版本编译安装
原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://wolfword.blog.51cto.com/4892126/1241300 MySQL是一个关系型数据库管理系统,由瑞典MySQL AB公司开发,目前属于Oracle公司。MySQL是一种关联数据库管理系统,关联数据库将数据保存在不同的表中,而不是将所有数据放在转载 2016-12-21 22:40:42 · 875 阅读 · 0 评论 -
mysql dba系统学习(2)了解mysql的源码目录及源文件
了解mysql的源码目录包括客户端代码,服务端代码,测试工具和其他库文件Mysql源码结构Bdb 伯克利DB表引擎BUILD 构建工程的脚本Client 客户端Cmd-line-utils 命令行工具Config 构建工程所需的一些文件Dbug Fred Fish转载 2016-12-21 22:42:44 · 1027 阅读 · 0 评论 -
mysql dba系统学习(3)mysql的启动停止
mysql的启动有很多方法,我们将来一一讨论一,mysqld mysqld是mysql的服务 mysqld这种方式启动的时候会读取my.cnf文件中的[mysqld]和[server]组group(每一个组都有[]来分割) 一般的,我们通过这种方式手动的调用mysqld,如果不是出去调试的目的,我们一般都不这样做。因为这种方式会使错误转载 2016-12-21 22:43:25 · 820 阅读 · 0 评论 -
mysql dba系统学习(4)mysql的多实例multi启动停止
mysql的多实例配置安装 一,什么情况下我们会考虑一台物理服务器上部署多个实例,大致有以下几种情况:1,采用了数据伪分布式架构的原因,而项目启动初期又不一定有那多的用户量,为此先一组物理数据库服务器,但部署多个实例,方便后续迁移;2,为规避mysql对SMP架构不支持的缺陷,使用多实例绑定处理器的办法(NUMA处理器必须支持,不过现在大部分处理器都支持的!),把不同的转载 2016-12-21 22:44:51 · 1060 阅读 · 0 评论 -
mysql dba系统学习(5)二进制日志binlog之一
一,二进制日志文件的作用 Mysql的二进制日志记录的是所有mysql数据库发生变更的信息,因此对数据库非常重要,二进制日志的作用我概括了一下主要包含如下几个方面:1、可以用于数据库基于时间点的还原。2、可以用来分析数据库发生更改的情况,比如程序的bug导致数据库数据更改等等。3、二进制日志还可以用来重建数据库。 二,二转载 2016-12-21 22:45:45 · 823 阅读 · 0 评论 -
mysql dba系统学习(6)二进制日志binlog之二
MySQL 5.5 中对于二进制日志 (binlog) 有 3 种不同的格式可选:Mixed,Statement,Row,默认格式是 Statement。总结一下这三种格式日志的优缺点。MySQL Replication 复制可以是基于一条语句 (Statement Level) ,也可以是基于一条记录 (Row Level),可以在 MySQL 的配置参数中设定这个复制级别,不同复制级别转载 2016-12-21 22:46:50 · 791 阅读 · 0 评论