背景知识:

表分区是把逻辑上同一范围的数据保存到同一个文件中,就和超市一样,把同类商品放在同一个区域,把不同的商品放在不同的地方。不同的是超市中

是根据用途分类的,表分区是根据它的取值区间来分的。

分区有什么用?

1、分区后可以用多个文件来保存表中的数据,而这几个文件可以位于不同的硬盘上,这样就可以同时利用多个硬盘的IO能力。

2、分区后锁就会更灵活,如果一次要锁定大量的数据行,而表没有分区,MYSQL 可能会为了减小在锁上的开销,会把行锁升

级为表锁,如果表分区了,要访问的数据行只在表的一两个分区中,这样就可以只锁定这两个分区。而不要锁定整个表。

3、由于目前MYSQL一个数据库保存在一个文件夹中,好像文件夹不可以跨硬盘,所以第 1 点说的好处就没有了,不过在别的

数据库如SQL Server中这个好处是有的。

方法 1、

partition by range (column_name) partition pt... values less than方法

create table T1(X int ,Y int)
         partition by range (X)(
         partition p0 values less than(10),
         partition p3 values less than(100),
         partition p5 values less than maxvalue);

就这样给T1 根据X的取值分成了三个区

方法 2

partiton by list (column) partition pt.. values in(value1,value2,...);

create table T2(X int ,Y int)
       PARTITION BY LIST(X)(
       partition p1 values in (1,2,3),
       partition p2 values in (4,5,6),
       partition p3 values in (7,8,9))
       ;

这里是方法1、方法2 创建的文件。

MYSQL 表分区的 3 方法的更多相关文章

  1. Mysql表分区的选择与实践小结

    在一些系统中有时某张表会出现百万或者千万的数据量,尽管其中使用了索引,查询速度也不一定会很快.这时候可能就需要通过分库,分表,分区来解决这些性能瓶颈. 一. 选择合适的解决方法 1. 分库分表. 分库 ...

  2. MySQL表分区技术

    MySQL表分区技术 MySQL有4种分区类型: 1.RANGE 分区 - 连续区间的分区 - 基于属于一个给定连续区间的列值,把多行分配给分区: 2.LIST 分区 - 离散区间的分区 - 类似于按 ...

  3. Mysql 表分区和性能

    以下内容节选自<Mysql技术内幕InnoDB存储引擎> mysql表分区: 分区功能并不是所有存储引擎都支持的,如CSV.MERGE等就不支持.mysql数据库支持的分区类型为水平分区( ...

  4. mysql表分区、查看分区

    原文地址:http://blog.csdn.net/feihong247/article/details/7885199 一.       mysql分区简介 数据库分区 数据库分区是一种物理数据库设 ...

  5. mysql表分区简述

    一. 简介 数据库分区 数据库分区是一种物理数据库设计技术.虽然分区技术可以实现很多效果,但其主要目的是为了在特定的SQL操作中减少数据读写的总量以缩减sql语句的响应时间,同时对于应用来说分区完全是 ...

  6. mysql 表分区 查看表分区 修改表分区

    原文地址:http://blog.csdn.net/feihong247/article/details/7885199 一.       mysql分区简介 数据库分区 数据库分区是一种物理数据库设 ...

  7. Mysql 表分区

    是否支持分区:mysql> show variables like '%partition%';+-----------------------+-------+| Variable_name ...

  8. MySQL 表分区详解MyiSam引擎和InnoDb 区别(实测)

    一.什么是表分区通俗地讲表分区是将一大表,根据条件分割成若干个小表.mysql5.1开始支持数据表分区了.如:某用户表的记录超过了1000万条,那么就可以根据入库日期将表分区,也可以根据所在地将表分区 ...

  9. mysql表分区(摘自 MySQL表的四种分区类型)

    一.什么是表分区通俗地讲表分区是将一大表,根据条件分割成若干个小表.mysql5.1开始支持数据表分区了. 如:某用户表的记录超过了600万条,那么就可以根据入库日期将表分区,也可以根据所在地将表分区 ...

随机推荐

  1. 用IO流拷贝歌曲

    package lianxi; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOEx ...

  2. 基于Keil C的覆盖分析,总结出编程中可能出现的几种不可预知的BUG

    基于Keil C的覆盖分析,总结出编程中可能出现的几种不可预知的BUG,供各位网友参考 1.编译时出现递归警告,我看到很多网友都采用再入属性解决,对于再入函数,Keil C不对它进行覆盖分析,采用模拟 ...

  3. UESTC_Little Deer and Blue Cat CDOJ 1025

    In DOTA, there are two Intellegence heroes. One is Enchantress, who is usually called Little Deer by ...

  4. Rock the Tech Interview

    Today, Infusion held a talk in Columbia University about tech interview. Talker: Nishit Shah @ Infus ...

  5. sroHOBOorz来自HOBO的高精类

    /* bigint() bigint(long long) bigint(bigint) bigint(char*) bigint(string) +, +=, ++ -, -=, -- *, *= ...

  6. linux下java调用.so动态库方法2: JNA

    摘自:http://blog.csdn.net/todorovchen/article/details/21319033 另请参见: http://blog.sina.com.cn/s/blog_8c ...

  7. java File的getLastModified在不同操作系统以下存在差异

    java对文件读取改动时间(getLastModified())在不同的操作系统下存在差异  //1.在windows下,返回值是毫秒级别,不存在问题 //2.在Linux下,返回的值是毫秒值,可是会 ...

  8. Hadoop中SequenceFile的使用

    1.对于某些应用而言,须要特殊的数据结构来存储自己的数据. 对于基于MapReduce的数据处理.将每一个二进制数据的大对象融入自己的文件里并不能实现非常高的可扩展性,针对上述情况,Hadoop开发了 ...

  9. H5单页面架构:backbone + requirejs + zepto + underscore

    首先,来看看整个项目结构. 跟上一篇angular类似,libs里多了underscore和zepto.三个根目录文件: index.html:唯一的html main.js:requirejs的配置 ...

  10. js 倒计时 已过去时间

    页面中的代码: <strong id="timer" datatime="2012-12-09 10:20:30"></strong> ...