一、分区

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. Memcached缓存框架

    开发基于BS模式的程序,都有报表模块,那么如何开发报表模块. 1.定时发布报表数据到指定的临时表(可能是定时任务) 2.用户通过HTTP请求后台,访问临时表,查询报表数据 3.增加memcached缓 ...

  2. CSS3基础知识核心动画(二)

    Transition过渡 transition-property 过渡属性 all|[attr] transition-duration 过渡时间 transition-delay 延迟时间 tran ...

  3. Sass、Less编译器koala及koala不支持中文字体的解决方法

    一款很好用的Sass编译器,还可以编译Less.coffeescript等 去官网下载适合自己电脑的版本 http://koala-app.com/index-zh.html 打开后拖动或者打开项目目 ...

  4. 常用数据库1 sqlserver

    知识内容: 1.SqlServer数据库概述 2.SqlServer数据库基本操作 3.Transact-SQL程序设计 一.SqlServer数据库概述 1.SqlServer系统概述 SQLSer ...

  5. mybatis匹配字符串的坑

    where语句中我们经常会做一些字符串的判断,当传入的字符串参数为纯数字时,在mybatis的条件语句test里匹配全数字字符串需要注意会有如下现象: 所以里面的字符串需要加单引号,mybatis是匹 ...

  6. linnux-shell知识

    awk 是单行处理文本 正则: cat test.py | awk '/a/ {print $1}'  # 如果test.py中存在a这个字母,就打印所在行的第一列(注意是该列,不是该词).匹配成功, ...

  7. License分类 + 引入开源软件时License的注意事项

    License分类 GPL: linux.openJDK,openJFX,mysql 融合感染,单独子模块不感染(自己的模块与引入模块的通信方式是socket) openJDK(GNU General ...

  8. Eclipse中java文件和jsp字体大小设置

    1.更改java文件大小设置Window->preferences->General->Appearance->Colors   and   Fonts->Java-&g ...

  9. as3 程序域

    问题我要在应用程序中载入其他域的swf文件,并且允许它访问程序中的 ActionScript 解决办法使用flash.system.Security.allowDomain( ), flash.sys ...

  10. python 冷知识点

    # int could accept parameters in bool type.int(True) # result is 1 int(False) # result is 0 reprlib. ...