文章目录

  • 创建表分区
  • 创建批量查询测试数据的存储过程

创建表分区

注意:创建分区个数最好是质数

DROP TABLE IF EXISTS `mg_zz_feature`;
CREATE TABLE  mg_zz_feature  (
feature VARCHAR(50),
fileCode VARCHAR(32),
flag enum('0','1'),
readFlag enum('0','1')
)  ENGINE=InnoDB DEFAULT CHARSET=utf8
PARTITION BY KEY(feature) PARTITIONS 5;
--  A PRIMARY KEY must include all columns in the table's partitioning function
-- HASH(feature): Field 'feature' is of a not allowed type for this type of partitioning  feature 必须是int类型
call batch_insert_test(5000);-- 分区情况
select TABLE_NAME,PARTITION_NAME,PARTITION_METHOD,PARTITION_EXPRESSION,TABLE_ROWS from information_schema.`PARTITIONS` where TABLE_NAME='mg_zz_feature';
select sum(TABLE_ROWS) from information_schema.`PARTITIONS` where TABLE_NAME='mg_zz_feature';select VERSION();-- p0
EXPLAIN PARTITIONS select * from mg_zz_feature where feature='3749041';-- 删除所有分区
-- alter table mg_zz_feature REMOVE PARTITIONING;
-- 增加3个分区
alter table mg_zz_feature ADD PARTITION PARTITIONS 5;
-- 删除3个分区
alter table mg_zz_feature COALESCE PARTITION 2;
select * from mg_zz_feature  where feature='3749041' ;
select count(1) from mg_zz_feature;
update mg_zz_feature set readFlag='1' where fileCode='37459';show PROCESSLIST;

创建批量查询测试数据的存储过程

drop PROCEDURE if exists batch_insert_test;delimiter $$
create PROCEDURE batch_insert_test(records integer)
BEGIN
DECLARE i int;
set i =0;
while i<records DOinsert into mg_zz_feature values(FLOOR(RAND()*10000000),FLOOR(RAND()*100000),'1','0');
set i = i+1;
end while;
END
$$call batch_insert_test(5000);

mysql创建表分区相关推荐

  1. mysql创建表分区详细介绍及示例

    mysql创建表分区详细介绍及示例 1. 基本概念 1.1 什么是表分区? 1.2 表分区与分表的区别 1.3 表分区有什么好处? 1.4 分区表的限制因素 2. 如何判断当前MySQL是否支持分区? ...

  2. MYSQL定时创建表分区

    MYSQL定时创建表分区 一.存储过程-表分区 ----------------------------------------------------------------- 需求: 每月创建一个 ...

  3. mysql —— 分表分区

    面对当今大数据存储,设想当mysql中一个表的总记录超过1000W,会出现性能的大幅度下降吗? 答案是肯定的,一个表的总记录超过1000W,在操作系统层面检索也是效率非常低的 解决方案: 目前针对海量 ...

  4. mysql myisam表分区_MySQL 表分区详解MyiSam引擎和InnoDb 区别(实测)

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

  5. mysql数据库表分区

    一.表分区 1.对表分区的原因 数据库数据越来越大,导致单个表中数据太多.以至于增删改查询速度变慢,而且由于表的锁机制导致应用操作也受到严重影响,出现了数据库性能瓶颈. 2.表分区 表分区就是将一个表 ...

  6. mysql 重建分区_详解mysql重建表分区并保留数据的相关方法

    本文介绍mysql重建表分区并保留数据的方法,mysql的表分区(partition)可以把一个表的记录分开多个区去存储,查询时可根据查询的条件在对应的分区搜寻,而不需要整表查询,提高查询效率. 有分 ...

  7. mysql 数据表分区与分表介绍

    什么是分表? 分表是将一个大表按照一定的规则分解成多张具有独立存储空间的实体表,我们可以称为子表,每个表都对应三个文件,MYD数据文件,MYI索引文件,frm表结构文件.这些子表可以分布在同一块磁盘上 ...

  8. oracle与mysql创建表时的区别

    oracle创建表时,不支持在建表时同时增加字段注释.故采用以下方式: #创建表 CREATE TABLE predict_data as (id integer NOT NULL, uid varc ...

  9. mysql创建表的时候日期给个默认值_mysql 创建表时 日期字段默认值为当前时间...

    mysql 创建表时 日期字段默认值为当前时间 mysql version 5.1 在mysql创建表的时候经常会遇到创建日期字段需要设置当前时间为默认值的时候,就如sqlserver2000一样,把 ...

最新文章

  1. 赫夫曼编码(基于赫夫曼树的实现)
  2. 如何学好算法与程序设计
  3. 《Head first设计模式》学习笔记 – 迭代器模式
  4. 面试官:不使用synchronized和lock,如何实现一个线程安全的单例?
  5. 利用Runtime类,来操作电脑关机。。
  6. java 创建线程_【80期】说出Java创建线程的三种方式及对比
  7. Eming cup Problem D. Game of numbers
  8. 数码显示实验报告C语言,数码问题C语言A星算法详细实验报告含代码(9页)-原创力文档...
  9. 判断字符串是否为JSON
  10. Qt 的udpSocket通信
  11. 工资低是浪费生命?俞敏洪:当你工资比同学少一半 生命已经浪费一半
  12. 从SqlServer转手Oracle的一些坑
  13. bootstrap学习笔记(2)表单设计
  14. 日本将推出“隐形列车”,你要去体验一番吗?
  15. fdtd安装在服务器系统可以么,并行FDTD结合服务器分析电大电磁问题
  16. python deap_Python遗传算法框架DEAP-Creating Types
  17. 智能脚本植入与CBSS+
  18. DX11与多线程渲染
  19. 《留住好员工》-读后感
  20. 物联网是如何工作的?

热门文章

  1. MySQL - 索引优化
  2. MFC打包exe文件
  3. linux内核编译总结
  4. 攻略与反攻略——聊天篇
  5. java技术主管的岗位职责_【JAVA项目经理/技术负责人职责】2021年利必达电商JAVA项目经理/技术负责人岗位职责-看准网...
  6. 私营的企业能不能随便的开除员工
  7. 怎么进行大数据测试?我们需要具备怎样的测试能力?
  8. 内核驱动小记(一)——Realtek 8168
  9. 钉钉小程序上传文档_钉钉小程序怎么使用
  10. python文件写入追加写入_python怎么以追加的方式写文件?