目录
1.左右连接、内连接、全连接的区别
left join (左连接):返回包括左表中的所有记录和右表中连接字段相等的记录。
right join (右连接):返回包括右表中的所有记录和左表中连接字段相等的记录。
inner join (等值连接或者叫内连接):只返回两个表中连接字段相等的行。
full join (全外连接):返回左右表中所有的记录和左右表中连接字段相等的记录。
2.什么是分区?
就是将表中的数据在物理上存放到多个表空间(物理文件上),这样查询数据时,不至于每次都扫描整张表。
什么时候使用分区表?
1、表的大小超过2GB。
2、表中包含历史数据,新的数据被增加都新的分区中。
表分区有以下优点:
1.改善查询性能:对分区对象的查询可以仅搜索自己关心的分区,提高检索速度。
2.增强可用性:如果表的某个分区出现故障,表在其他分区的数据仍然可用;
3.维护方便:如果表的某个分区出现故障,需要修复数据,只修复该分区即可;
4.均衡I/O:可 以把不同的分区映射到磁盘以平衡I/O,改善整个系统性能。
缺点:已经存在的表没有方法可以直接转化为分区表。
分区表的分类?
分区表:范围分区(range),列表分区(list),散列分区(hash),复合分区,交换分区
范围分区
将数据基于范围映射到每一个分区,这个范围是你在创建分区时指定的分区键决定的。这种分区方式是最为常用的,并且分区键经常采用日期。
--创建:
create table 表名
(列名 数据类型
...)
partition by range (字段)
(
partition 分区名1 values less than (值1或日期1),
partition 分区名2 values less than (值2或日期2),