一、分区

1、分区概念
将某张表数据,分别存储到不同的区域中。
每个分区,都是独立的表,都要存储该分区的数据,索引信息。 2、创建分区
创建表并指定分区的选项
create table 表名 (
定义...
)
Partition by 分区算法 (分区参数) 分区选项
(*分区所参与的字段必须为主键的一部分) 3、分区算法
(1)、key 按照某个字段进行取余
create table test1 (
id int unsigned not null auto_increment,
title varchar(32) no null default '',
primary key (id)
)engine=myisam charset=utf8
partition by key (id) partitions 5; (2)、hash 按照某个表达式的值进行取余
--按照月份分成12个分区
create table test2 (
id int unsigned not null auto_increment,
birthday date,
primary key (id,birthday)
)engine=myisam charset=utf8
partition by hash (month(birthday)) partitions 12;
(*key,hash分区算法要求分区参数必须返回为整数) (3)、list 需要指定每个分区的存储条件
--按照四个季节分成4个分区
create table test3 (
id int unsigned not null auto_increment,
birthday date,
primary key (id,birthday)
)engine=myisam charset=utf8
partition by list (month(birthday)) (
partition p1 values in(3,4,5),
partition p2 values in(6,7,8),
partition p3 values in(9,10,11),
partition p4 values in(12,1,2)
);
(*list条件依赖的数据是列表形式) (4)、range 条件依赖的数据是一个条件表达式
--按年份分成70后,80后,90后,00后4个分区
create table test4 (
id int unsigned not null auto_increment,
birthday date,
primary key (id,birthday)
)engine=myisam charset=utf8
partition by range (year(birthday)) (
partition p70 values less than (1980),
partition p80 values less than (1990),
partition p90 values less than (2000),
partition p00 values less than MAXVALUE,
); 4、查看mysql是否支持分区
> show variables like 'have_partitioning';
(*mysql5.6后移除了have_partitioning项,可以用SHOW PLUGINS;来查看) 5、管理分区语法
(1)、key,hash
增加分区数量
> alter table test2 add partition partitions N;
减少分区数量
> alter table test2 coalesce partition N;
(*采用取余算法的分区数量的修改,不会导致已有分区数据的丢失) (2)、list,range
增加分区
> alter table test4 add partition (
partition p2010 values less than (2010)
); 删除分区
> alter table test4 drop partition 分区名;
(*删除条件算法的分区,导致分区数据的丢失) 6、选择分区算法
平均分配,就按照主键进行key即可
按照某种业务逻辑分区:
1、选择那种整数型
2、最容易被筛选的字段 二、mysql服务器配置常用优化项 支持的最大连接数
max_connections = 100
myisam配置
键缓冲的大小,建议不要超过物理内存的30%
key_buffer_size=55M
表缓存,缓存的是表文件的句柄
table_cache=256
innodb配置
innodb缓冲池的大小,最大可以为机器物理内存的80%
innodb_buffer_pool_size=107M

mysql优化概述4的更多相关文章

  1. MySQL优化概述

    一. MySQL优化要点 MySQL优化是一门复杂的综合性技术,主要包括: 1 表的设计合理化(符合 3NF,必要时允许数据冗余) 2.1 SQL语句优化(以查询为主) 2.2 适当添加索引(主键索引 ...

  2. mysql优化概述3

    1.前缀索引 建立索引关键字一种方案. 通常会使用字段的整体作为索引关键字. 有时,使用字段前部分数据,也可以去识别某些记录. 语法: index `索引名` (`字段`(N)); 使用字段前N个字符 ...

  3. mysql优化概述2

    一.索引的概念 利用关键字,就是记录的部分数据(某个字段,某些字段,某个字段的一部份),建立与记录位置的对应关系,就是索引.索引的关键字一定是排序的. 二.索引的类型 mysql支持四种索引: 1.主 ...

  4. Mysql优化-概述

    摘抄并用于自查笔记 为什么要优化 一个应用吞吐量瓶颈往往出现在数据库的处理速度上. 随着应用程序的使用,数据库数据逐渐增多,数据库处理压力逐渐增大. 关系型数据库的数据是存放在磁盘上,读写速度慢(与内 ...

  5. Mysql优化概述及其压力测试工具

    衡量指标 TPS:Transactions Per Second (每秒传输的事物处理个数) ,这是指服务器每秒处理的事物数,支持事物的存储引擎如Innodb等特有的一个性能指标; QPS:Queri ...

  6. mysql优化一 之 优化内容概述及开启慢查日志的相关配置

    1-1数据库优化的目的 首先是为了避免出现页面访问错误(基本有三种) (1)由于数据库连接timeout产生的页面5XX错误 (2)由于慢查询造成页面无法加载 (3)由于阻塞造成的数据无法提交 其次: ...

  7. 深入MySQL(四):MySQL的SQL查询语句性能优化概述

    关于SQL查询语句的优化,有一些一般的优化步骤,本节就介绍一下通用的优化步骤. 一条查询语句是如何执行的 首先,我们如果要明白一条查询语句所运行的过程,这样我们才能针对过程去进行优化. 参考我之前画的 ...

  8. 0104探究MySQL优化器对索引和JOIN顺序的选择

    转自http://www.jb51.net/article/67007.htm,感谢博主 本文通过一个案例来看看MySQL优化器如何选择索引和JOIN顺序.表结构和数据准备参考本文最后部分" ...

  9. MySQL优化技巧

    目录 MySQL的特点 数据类型优化 整型类型 小数类型 字符串类型 时间类型 主键类型的选择 特殊类型的数据 索引优化 一个使用Hash值创建索引的技巧 前缀索引 多列索引 聚簇索引 覆盖索引 重复 ...

随机推荐

  1. numpy的linspace函数

    numpy.linspace(start, stop, num=50, endpoint=True, retstep=False,dtype=None)[source] 文档:https://docs ...

  2. vs2013编写的ASP.NET网站配置在XP IIS5.1上

     1.vs创建项目时,选择.Net Framework2.0 2.配置网站属性 Step1.进入命令行,注册ASP.NET IIS cmd => cd "C:\WINDOWS\Mi ...

  3. UNDO三大作用与一致性读机制浅析

    UNDO三大作用1.一致性读(consistent read)2.事务回滚(Rollback Transaction)3.实例恢复(Instance Recovery) 一致性读当会话发出一条SQL查 ...

  4. ESB初步配置文件认识

    每个项目的都有各自的场景,但是其实往小处说,场景的处理基本都是很相似,之前做copy文件的程序,其实就是一种很常见的ETL的过程(转移文件,异构系统通过文件系统交换数据,存在数据同步). 了解一下ET ...

  5. 信息学奥赛(NOIP)初赛学习方法推荐

    首先声明:本帖针对初学者,本帖只是列出一个大概的框架,不属于自学方法,有条件有能力,请找一位好老师来教,多跟前辈交流经验.(否则多会出现事倍功半的悲剧!) 一.初赛内容 初赛偏重于基础知识. 1. 一 ...

  6. 简单学习Git

    Git是什么? Git是目前世界上最先进的分布式版本控制系统(没有之一). Git有什么特点?简单来说就是:高端大气上档次! Git的发展历史 很多人都知道,Linus在1991年创建了开源的Linu ...

  7. uva-301-枚举-组合

    题意:从A市到B市有n个站点,限制火车上搭乘的乘客数目,每个站点都从有一些乘车的订单,订单信息 从x到y,乘客m人,求解最大的收入是多少 最多7个站,22个订单 选取订单的时候没有顺序问题,所以不是全 ...

  8. 温故而知新-mysql高级管理

    温故而知新-mysql高级管理 1 mysql的一些授权信息都保存在授权表中 授权表是6个 db,user,host,tables_priv,columns_priv,procs_priv 这6个表 ...

  9. C# WebBrowser

    WebBrowser中的按钮调用WinForm中的事件: private void Form1_Load(object sender, EventArgs e) { this.webBrowser1. ...

  10. Table-Driven Design 表驱动设计

    注:本文所有代码来自 http://www.codeproject.com/Articles/42732/Table-driven-Approach 在许多程序中,经常需要处理那些拥有种种色色不同特性 ...