mysql分区技术测试

mysql是否支持partition呢,在mysql下执行show plugins;(显示插件)
其中包含了partition字段就说明你的数据库支持分区技术
1,创建带有分区的表
这里写图片描述
表明创建了带有hash分区技术的表,t2表有5个分区
这里写图片描述
mysql支持的几种分区技术,最常用的是range和list二种,Hash主要用来测试

看到test中有12张t2表,每个分区表都有表索引,检索数据更快。
这里写图片描述
把t2表创建索引
create index in_id on t2(id);

2、现在我们插入一个一千万行的数据来测试
使用insert into t2 select * from t2;命令循环多次,即可得到一个千万条记录的数据
这里写图片描述
3、我们创建一个存储过程,来向一个表中插入8000000行数据
这里写图片描述

然后我们测试了分区表和未分区表在插入1000万行数据时,所用的时间
结果测试 分区表插入1000万行数据所用的时间如下:
这里写图片描述
未分区表插入1000万行数据所用的时间如下:
这里写图片描述
结果显示,未分区表插入数据要快很多
4、测试查询速度
这里写图片描述
分区表查询影响的行数如下:
这里写图片描述
未分区表查询影响的行数是全部800万行
这里写图片描述

可以看出分区表比不分区表查询速度要快很多
5、测试二者都加上索引后的查询速度
这里写图片描述
都创建索引后查询时间接近
这里写图片描述

6、分析一下mySQL二种常见的表存储引擎myisam和innodb
myisam表一般都有3个文件组成:表结构,表数据,表索引
innodb表一般有2个文件组成:表结构,表数据和索引
还有一点,就是innodb表有二种存储结构:共享表空间和独占表空间
所谓的共享表空间是指数据库的所有表数据,索引文件全部放在一个文件中(ibdata1),初始化为10M
独占表空间:每一个表都会将以独立的文件方式进行存储,每个表有2个文件:表结构和ibd文件(数据和索引),我们要实现表分区,必须设置成独立表空间
设置方法是:修改mysql配置文件vim /etc/my.cnf 添加 innodb_file_per_table=1

创建2个不同引擎的表
这里写图片描述
查看表的文件结构
这里写图片描述
innodb表结构(独占表空间)创建表分区
这里写图片描述

本页内容版权归属为原作者,如有侵犯您的权益,请通知我们删除。

Oracle 学习笔记 - 2016-07-25 18:07:03

1,oracle安装包下载: 官网地址:http://www.oracle.com/technetwork/indexes/downloads/index.html#database 2,安装: 在oracle官网下载安装包,以oracle 11g为例,下载下来有两个压缩包,分别是win32_11gR2_database_1of2和win32_11gR2_database_2of2,把它俩解压到同一个文件夹下,注意路径中不能出现中文符号。 3.然后双击可执行文件【setup.exe】,如图所示: 4.双击
1. Oracle11g安装 http://pan.baidu.com/s/1gfa3e63 ; 这里是我在Oracle官网下载好了Windows系统64位的安装包,有2个zip文件。不想去官网找下载地址的童鞋可以直接用这个百度云盘的下载链接。 1.去 www.oracle.com 下载最新的oracle11g安装包的压缩文件,有2个压缩文件,都需要下载,下载完成以后需要解压缩在同一个目录下。 在开始oracle数据安装之前建议 : 1.关闭本机的病毒防火墙。 2.断开互联网。 这样可以避免解压缩丢失文件

HBASE RPC 详细解析 - 2016-07-25 18:07:33

HBASE RPC 详细解析  注:下面的图是作者随便画的,不怎么严格,大家能看懂就好。 由于篇幅所限,本文只是大略的讲解了一下RPC所涉及到的大概模块,较为模糊,有兴趣者可以继续深挖 RPC (远程过程调用协议) 是不同主机进程间通讯的一种方式,协议采用客户机 - 服务器模式的架构,请求程序为客户机,服务提供程序为服务器, hbase 在 client 与 server 通信上采用的也是 RPC 协议,并在 client 端与 server 端实现了具体的 RPC 协议内容 ,现在我们就从客户机,服务器

mysql入门的十条语句 - 2016-07-25 17:07:06

默认已经装好了mysql服务器,下来介绍一些入门的基本语句。 一、连接数据库所需要的工具   mysql是一种服务器,帮助我们对数据进行管理,是一个服务器端。我们要与mysql服务器进行交互,必须通过客户端。常见的客户端mysql_front,navcat,mysql自带的命令行客户端。现在我们使用windows自带的命令行与mysql服务器进行交互。当然首先要与mysql服务器进行连接。 打开命令行,进入到mysql里面。 系统会报错 ,这是因为没有与mysql服务器进行连接。 1、那么如何连接服务器呢

mysql的分区技术 - 2016-07-25 14:07:48

mysql是否支持partition呢,在mysql下执行show plugins;(显示插件) 其中包含了partition字段就说明你的数据库支持分区技术 1,创建带有分区的表 表明创建了带有hash分区技术的表,t2表有5个分区 mysql支持的几种分区技术,最常用的是range和list二种,Hash主要用来测试 看到test中有12张t2表,每个分区表都有表索引,检索数据更快。 把t2表创建索引 create index in_id on t2(id); 2、现在我们插入一个一千万行的数据来测试

0722 sql 语句那些事 - 2016-07-25 14:07:43

     刚接触这个项目的时候,还记得同事拿着一堆sql拼接和嵌套的代码,来问我们。当时感觉真的好麻烦,好复杂。以前用的sql都是简单的增删该查,后来ITOO中也是封装好的,所以就懒了。但是现在又遇到这个问题啦,这几天我负责的是手机端的考勤统计部分,所以用到了大量的纯sql查询语句。又将以前的知识好好学习了一下,总结一下。      这是用slqsever建立的两张表,下面几个例子都将以A、B两表为基础,介绍几种常用的连接。     一、左连接 span select * from A left join

主流NoSQL技术详解与比较 - 2016-07-24 19:07:00

主流NoSQL分类 1键值(Key-Value)存储数据库 键值对NoSQL是比较流行的一种NoSQL的解决方案,特点就是采用键值对来存储数据,它的优势在于容易部署和简单性,但是如果查询的部分只是整个数据库的小部分,那性能并不是特别突出。 2列存储数据库 列存储NoSQL比较适合的场景是处理海量的分布式存储的数据,它的主键可能是指向多个列的,数据量增加的时候几乎不影响性能。 3文档型数据库 文档数据库是采用类似键值对的方式进行存储,更准确的说是采用的JSON的格式进行存储,可以嵌套键值对,文档数据库比键值

Spark简要学习 - 2016-07-24 19:07:20

什么是Spark? 在Apache的网站上,有非常简单的一句话,'Spark is a fast and general engine',就是说Spark是一个统一的计算引擎,而且突出fast。那么具体是做什么的?是做large-scale的processing,即大数据处理。 Spark is a fast and general engine for large-scale processing. 这句话非常简单,但是它突出了Spark的一些特点:第一个特点就是Spark是一个并行式的、内存的、计算密

CentOS上面安装Oracle 11GR2 - 2016-07-24 17:07:10

正常图形化界面安装 安装X Window yum groupinstall "X Window System" yum install unzip .x 86_64 vim java- 1.8 .0 -openjdk .x 86_64 java- 1.8 .0 -openjdk-devel .x 86_64 安装依赖软件包 yum install binutils compat -libstdc ++- 33 elfutils -libelf elfutils -libelf -devel gcc gcc

pl/sql知识点总结 - 2016-07-24 14:07:00

概念 pl/sql(procedural language/sql)是oracle专有的在sql上扩展的一门语言,不仅可以写sql语言,还可以定义变量和常量。 pl/sql编写的存储过程,函数等可以提高效率,省去了传统程序与数据库交互时的编译时间。(例如:传统java程序在访问数据库带着sql语句访问,sql语句需要编译后才能被数据库识别) 编写 存储过程 SQL create or replace procedure sp_pro1 is 2 begin 3 insert into test value