文章目录

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

创建表分区

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

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. 本科生连发数篇SCI,你的第一篇SCI发表了吗?
  2. java中椭圆类_Java中的Graphics2D类基本使用的教程
  3. 安卓apk签名提取工具_Android测试工具入门介绍(二)
  4. Ant构建与部署Java项目---入门
  5. PostgresSQL模式
  6. [转帖]int main(int argc,char * argv[]) windows 下的使用
  7. 学习笔记_信号与系统
  8. java序列化,看这篇就够了
  9. 指针数组 | 数组指针
  10. 人工智能:python 实现 第十章,NLP 第一天 入门介绍及使用stemming还原词汇
  11. 学计算机激励标语口号,关于学习的励志口号标语(精选160句)
  12. 序号47指标横向展示.xlsx_杭州增加2万个小客车指标!想拥有“浙A”车牌,这个APP一定要收好~...
  13. iOS开发 手势密码解锁和指纹TouchID解锁
  14. 怎么用class引入svg_让动效更酷炫!4 个常见且常用的 SVG 交互动画方法
  15. 小萌新开始做题啦!----------相交链表
  16. 明源售楼系统技术解析 MVC架构与房源生成(一)
  17. 微信小程序60秒倒计时
  18. js正则表达式的使用:
  19. 计算机技术对国防事业,国防事业突飞猛进,那么“国防类”最强的大学,都有哪些?...
  20. 数学建模 线性规划报告_2019年高中数学新教材正式发布!变化明细首次曝光!...

热门文章

  1. unicode 编码 输出12生肖表情图片
  2. pc微信逆向最新3.9.2.23版本
  3. Excel 中怎样设置每页都打印表头
  4. android 华为拍照功能介绍,华为手机拍照方式有哪些?华为手机六大拍照方式介绍...
  5. 条形图可视化方式大全
  6. java字符转对象,Java将字符串转换为对象
  7. 【转】java下载网络文件至本地
  8. 【设计模式】软件设计七大原则 ( 迪米特原则 | 代码示例 )
  9. 第三节:微信小程序模拟动态加载服务器返回json数据
  10. js实现前端页面跳转后操作新页面