分区表

ORACLE分区表的使用和管理

回眸只為那壹抹淺笑 提交于 2019-12-04 06:39:29
1创建和使用分区表 Oracle分区表分为四类:范围分区表;列表分区表;哈希分区表;组合分区表 范围分区表 创建一个按字段数据范围分区的表,分区置于指定的不同表空间中 示例代码: --为各个分区准备独立的表空间 create tablespace test_space01 datafile‘d:/tbs01.dbf’ size 50m create tablespace test_space02 datafile‘d:/tbs02.dbf’ size 50m create tablespace test_space03 datafile‘d:/tbs03.dbf’ size 50m create tablespace test_space04 datafile‘d:/tbs04.dbf’ size 50m --创建分区表, CREATE TABLE range_example( range_key_column DATE, DATA VARCHAR2(20), ID integer ) PARTITION BY RANGE(range_key_column) ( PARTITION part01 VALUES LESS THAN(TO_DATE('2008-07-01 00:00:00','yyyy-mm-dd hh24:mi:ss')) TABLESPACEtest

fdisk 命令与parted 命令的区别

我们两清 提交于 2019-12-03 17:11:58
linux磁盘分区fdisk命令详解 原文链接 1、什么是分区? 分区是将一个硬盘驱动器分成若干个逻辑驱动器,分区是把硬盘连续的区块当做一个独立的磁硬使用。分区表是一个硬盘分区的索引,分区的信息都会写进分区表。 2、为什么要有多个分区? 防止数据丢失:如果系统只有一个分区,那么这个分区损坏,用户将会丢失所的有数据。 增加磁盘空间使用效率:可以用不同的区块大小来格式化分区,如果有很多1K的文件,而硬盘分区区块大小为4K,那么每存储一个文件将会浪费3K空间。这时我们需要取这些文件大小的平均值进行区块大小的划分。 数据激增到极限不会引起系统挂起:将用户数据和系统数据分开,可以避免用户数据填满整个硬盘,引起的系挂起。 3、分区工具fdisk用法介绍 fdisk命令参数介绍 p、打印分区表。 n、新建一个新分区。 d、删除一个分区。 q、退出不保存。 w、把分区写进分区表,保存并退出。 实例: [root@localhost ~]# fdisk /dev/hdd 按"p"键打印分区表 这块硬磁尚未分区 按"n"键新建一个分区。 出现两个菜单e表示扩展分区,p表示主分区 按"p"键出现提示:"Partition number (1-4): "选择主分区号 输入"1"表示第一个主分区。 直接按回车表示1柱面开始分区。 提示最后一个柱面或大小。 输入+5620M 按回车 表示第一个分区为5G空间。

宜信的105条数据库军规

ⅰ亾dé卋堺 提交于 2019-12-03 13:40:59
作为一家金融科技企业,宜信的大量业务都依赖于数据库。如何提高公司整体数据库应用水平,是对DBA的一大挑战,也非常具有现实意义。笔者在宜信的多年工作中,与团队一起总结整理了针对传统关系型数据库的使用规则,并借助自研的数据库审核平台落地,借此帮助研发团队评估数据库开发质量,达到尽早发现问题、解决问题之目的。下图正是这一系统的简单原理图。 如上图所示,针对规则部分又可细分为如下分类(部分)。简单描述如下,后面将逐一详细说明。 一、Oracle规则(对象) 1.1 表、分区 【规则1】 规则说明:超过指定规模且没有分区的表。 规则阈值:2GB(物理大小超过指定阀值)。 规则描述:表的规模过大,将影响表的访问效率、增加维护成本等。常见的解决方案就是使用分区表,将大表转换为分区表。 【规则2】 规则说明:单表或单分区记录数量过大。 规则阈值:1000000(单表或单分区记录数超过指定阀值)。 规则描述:控制单个表或单个分区的数据规模,提高单一对象的访问效率。如记录数过多,应考虑分库、分表、分区等策略。 【规则3】 规则说明:大表过多。 规则阈值:自定义(超过2G的表的数量过多)。 规则描述:大表在所有表中所占比例超过20%(OLTP)或95%(OLAP)。 【规则4】 规则说明:单表分区数量过多。 规则阈值:500(单表分区数量超过指定阀值)。 规则描述:分区表中分区数量过多

Hive_分区表

家住魔仙堡 提交于 2019-12-03 12:11:54
分区表实际上就是对应一个HDFS文件系统上的独立的文件夹,该文件夹下是该分区所有的数据文件。Hive中的分区就是分目录,把一个大的数据集根据业务需要分割成小的数据集。在查询时通过WHERE子句中的表达式选择查询所需要的指定的分区,这样的查询效率会提高很多。 分区表基本操作 1.引入分区表(需要根据日期对日志进行管理) /user/hive/warehouse/log_partition/20170702/20170702.log /user/hive/warehouse/log_partition/20170703/20170703.log /user/hive/warehouse/log_partition/20170704/20170704.log 2.创建分区表语法 hive (default)> create table dept ( deptno int, dname string, loc string ) partitioned by (month string) row format delimited fields terminated by '\t'; 注意:分区字段不能是表中已经存在的数据,可以将分区字段看作表的伪列。 3.加载数据到分区表中 hive (default)> load data local inpath '/opt/module/datas

【转】数据库优化的几个阶段

家住魔仙堡 提交于 2019-12-03 09:14:16
转自: https://www.cnblogs.com/rjzheng/p/9619855.html#4365629 引言 大家在面试的时候,是否遭遇过,面试官询问 你们是如何进行数据库优化的? 那这个问题应该怎么答呢?其实写这个题材的原因是我这几天看到各公众号转的一篇数据库调优的知识(不上链接了),我就稍微翻了几下,上面动不动就来说要对数据库进行 水平拆分 ,我就想反问各位读者,你们几个人经历过 水平拆分 ?现在很多文章,实践性实在太差,只能说纯理论分析。 这篇文章最早来自知乎的一个提问,我在其基础上完善了一下。 第一阶段 优化sql和索引 这才是调优的第一阶段啊, 为什么呢? 因为这一步成本最低啊,不需要加什么中间件。你没经过索引优化和SQL优化,就来什么 水平拆分 ,这不是坑人么。 那 步骤 是什么样呢?我说个大概 (1)用慢查询日志定位执行效率低的 SQL 语句,开启慢查询日志方式: (2)用 explain 分析 SQL 的执行计划 (3)确定问题,采取相应的优化措施,建立索引啊,等 我就不举例了,因为如何优化SQL的文章,一抓一大把,再贴过来,读者看着也累。 第二阶段 搭建缓存 在优化sql无法解决问题的情况下,才考虑搭建缓存。毕竟你使用缓存的目的,就是将复杂的、耗时的、不常变的执行结果缓存起来,降低数据库的资源消耗。 这里需要 注意 的是:搭建缓存后

Hive 教程(四)-分区表与分桶表

不问归期 提交于 2019-12-03 07:07:24
在 hive 中分区表是很常用的,分桶表可能没那么常用,本文主讲分区表。 概念 分区表 在 hive 中,表是可以分区的,hive 表的每个区其实是对应 hdfs 上的一个文件夹; 可以通过多层文件夹的方式创建 多层分区 ; 通过文件夹把数据分开 分桶表 分桶表中的每个桶对应 hdfs 上的一个文件; 通过文件把数据分开 在查询时可以通过 where 指定分区(分桶),提高查询效率 分区表基本操作 1. 创建分区表 partitoned by 指定分区,后面加 分区字段 和 分区字段类型,可以加多个字段,前面是父路径,后面是子路径 create table student_p(id int,name string,sexex string,age int,dept string) partitioned by(part string) row format delimited fields terminated by ',' stored as textfile; 分区表相当于给 表 加了一个字段,然后给这个字段赋予不同的 value,每个 value 对应一个分区,这个 value 对应 hdfs 上文件夹的名字 2. 写入数据 1, zhangsan, f, 30, a, 2, lisi, f, 39, b, 3, wangwu, m, 26, c, 写入两次

客户端与服务器模型

纵然是瞬间 提交于 2019-12-03 05:16:55
一.客户端与服务器模型  1.mysql是一个典型的C/S服务结构 1.1 mysql自带的客户端程序(/application/mysql/bin) ​ mysql ​ mysqladmin ​ mysqldump 1.2 mysqld一个二进制程序,后台的守护进程 单进程 多线程 2.应用程连接MySQL方式 TCP/IP的连接方式  套接字连接方式  总结: 不一定-h都是TCP连接,-hlocalhost(socket) 不一定-S都是socket连接,如果前面加了-h一定是tcp MYSQL默认使用的事socket(安全,速度快) 二.MySQL服务器构成 什么是实例 1.MySQL的后台进程+线程+预分配的内存结构。 2.MySQL在启动的过程中会启动后台守护进程,并生成工作线程,预分配内存结构供MySQL处理数据使用。  图1.1-word的打开方式 图1.2-mysqld的打开方式 MySQLD服务器程序构成  mysqld是一个守护进程但是本身不能自主启动: [root@db01 ~]# mysql -uroot -poldboy123 [root@db01 ~]# select user,host,password from mysql.user; 连接层 1、提供连接协议(socket、tcp/ip) 2、验证用户的合法性(用户名、密码、白名单)

oracle表分区二 转

与世无争的帅哥 提交于 2019-12-03 03:55:29
此文从以下几个方面来整理关于分区表的概念及操作: 1.表空间及分区表的概念 2.表分区的具体作用 3.表分区的优缺点 4.表分区的几种类型及操作方法 5.对表分区的维护性操作. (1.) 表空间及分区表的概念 表空间: 是一个或多个数据文件的集合,所有的数据对象都存放在指定的表空间中,但主要存放的是表, 所以称作表空间。 分区表: 当表中的数据量不断增大,查询数据的速度就会变慢,应用程序的性能就会下降,这时就应该考虑对表进行分区。表进行分区后,逻辑上表仍然是一张完整的表,只是将表中的数据在物理上存放到多个表空间(物理文件上),这样查询数据时,不至于每次都扫描整张表。 ( 2).表分区的具体作用 Oracle的表分区功能通过改善可管理性、性能和可用性,从而为各式应用程序带来了极大的好处。通常,分区可以使某些查询以及维护操作的性能大大提高。此外,分区还可以极大简化常见的管理任务,分区是构建千兆字节数据系统或超高可用性系统的关键工具。 分区功能能够将表、索引或索引组织表进一步细分为段,这些数据库对象的段叫做分区。每个分区有自己的名称,还可以选择自己的存储特性。从数据库管理员的角度来看,一个分区后的对象具有多个段,这些段既可进行集体管理,也可单独管理,这就使数据库管理员在管理分区后的对象时有相当大的灵活性。但是,从应用程序的角度来看,分区后的表与非分区表完全相同,使用 SQL DML

Hive分区表创建,增加及删除

匿名 (未验证) 提交于 2019-12-03 00:39:02
1.创建Hive分区表,按字段分区 CREATE TABLE test1 ( id bigint , create_time timestamp , user_id string) partitioned by (partition_key int) ROW FORMAT DELIMITED FIELDS TERMINATED BY ‘\001‘ LINES TERMINATED BY ‘\n‘; 2.增加Hive分区表 ALTER TABLE test1 ADD PARTITION(partition_key=20180620) LOCATION ‘/user/hive/warehouse/demo.db/test1/partition_key=20180620‘; 3.删除分区Partition alter table user_behaviour drop partition(partition_key=20180620); 原文:https://www.cnblogs.com/qizhelongdeyang/p/9240546.html

Hive---外部分区表的创建

匿名 (未验证) 提交于 2019-12-03 00:34:01
Hive---外部分区表的创建 (1)假设有个分区表,数据如下: hive> show create table partition_parquet; OK CREATE TABLE `partition_parquet`( `member_id` string, `name` string, `add_item` string) PARTITIONED BY ( `stat_date` string, `province` string) ROW FORMAT SERDE 'org.apache.hadoop.hive.ql.io.parquet.serde.ParquetHiveSerDe' WITH SERDEPROPERTIES ( 'field.delim'='\t', 'serialization.format'='\t') STORED AS INPUTFORMAT 'org.apache.hadoop.hive.ql.io.parquet.MapredParquetInputFormat' OUTPUTFORMAT 'org.apache.hadoop.hive.ql.io.parquet.MapredParquetOutputFormat' LOCATION 'hdfs://localhost:9002/user/hive/warehouse/yyz_workdb