目录
1.创建表
/*
Navicat Premium Data Transfer
Source Server : rm-uf65j44c2334c4n95wo.mysql.rds.aliyuncs.com
Source Server Type : MySQL
Source Server Version : 50728
Source Host : rm-uf65j44c2334c4n95wo.mysql.rds.aliyuncs.com:3306
Source Schema : hhmt_cpa
Target Server Type : MySQL
Target Server Version : 50728
File Encoding : 65001
Date: 19/11/2021 19:13:53
*/
SET NAMES utf8mb4;
SET FOREIGN_KEY_CHECKS = 0;
-- ----------------------------
-- Table structure for ocpx_media_platform
-- ----------------------------
DROP TABLE IF EXISTS `ocpx_media_platform`;
CREATE TABLE `ocpx_media_platform` (
`id` int(11) NOT NULL AUTO_INCREMENT COMMENT '主键id',
`cid` varchar(64) CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL COMMENT '回调函数redis缓存key',
`idfa` varchar(64) CHARACTER SET utf8 COLLATE utf8_unicode_ci NULL DEFAULT NULL COMMENT 'iOS 下的 IDFA,原文带“-”, 明文\r\n例如: 458BE47D-7205-4010- BC77-DC6E551EC514',
`open_udid` varchar(64) CHARACTER SET utf8 COLLATE utf8_unicode_ci NULL DEFAULT NULL COMMENT 'iOS 下的 OpenUDID,原始 值。40 位十六进制数字。\r\n例如: 0d943976b24c85900c7 64dd9f75ce054dc5986f f',
`imei` varchar(64) CHARACTER SET utf8 COLLATE utf8_unicode_ci NULL DEFAULT NULL COMMENT 'Android 下的 IMEI, IMEI 进行 MD5\r\n例如: e86607bc47b52dc939e 71e9edfe09f55\r\n安卓建议 填写',
`oaid` varchar(64) CHARACTER SET utf8 COLLATE utf8_unicode_ci NULL DEFAULT NULL COMMENT 'MSA 提供的匿名设备标识符',
`android_id` varchar(64) CHARACTER SET utf8 COLLATE utf8_unicode_ci NULL DEFAULT NULL COMMENT 'Android 下的 ANDROIDID,ANDROIDID 进行 MD5\r\n例如:559728b2022fa3cd893 605112f626359',
`mac` varchar(64) CHARACTER SET utf8 COLLATE utf8_unicode_ci NULL DEFAULT NULL COMMENT 'MAC 地址转大写,去冒号, 然后 MD5 例如: e3f5536a141811db40e fd6400f1d0a4e',
`mac1` varchar(64) CHARACTER SET utf8 COLLATE utf8_unicode_ci NULL DEFAULT NULL COMMENT 'MAC 地址转大写,保留冒 号,然后 MD5 例如: f8c65f0f6ea5cbffb7cb9 7cd6fae683c',
`ip` varchar(32) CHARACTER SET utf8 COLLATE utf8_unicode_ci NULL DEFAULT NULL COMMENT '点击广告的设备 IP 信息 150.255.177.215',
`os` int(11) NULL DEFAULT NULL COMMENT '客户端操作系统的 类型 1 位数字,取 0~3。 0 表示 Android 1 表示 iOS 2 表示 Windows Phone 3 表示其他 1',
`ts` varchar(64) CHARACTER SET utf8 COLLATE utf8_unicode_ci NULL DEFAULT NULL COMMENT '客户端触发监测的时间. UTC 时间戳, ⾃1970 年起 的秒数(备注:客户端构造 点击事件的时间,如果缺 失,则使用当前时间)',
`udid` varchar(64) CHARACTER SET utf8 COLLATE utf8_unicode_ci NULL DEFAULT NULL COMMENT 'iOS 下的 UDID。配置这个参 数后,会按照优先级获取设 备信息:IDFA —>OPENUDID—>MAC idfa 为 00000000-0000-0000-0 000-000000000000 时, 会认为是无效,改为传递 openudid',
`ua` varchar(255) CHARACTER SET utf8 COLLATE utf8_unicode_ci NULL DEFAULT NULL COMMENT '客户端上报数据时 http 的 header 中的 user_agent。 会 urlencode 例如: QIYIVideo%2F9.10.0%2 0(iOS%3Bcom.qiyi.iphon e%3BiOS12.0.1%3BiPho ne10%2C3)%20Corejar',
`callback_url` varchar(255) CHARACTER SET utf8 COLLATE utf8_unicode_ci NULL DEFAULT NULL COMMENT '激活回调地址 在广告点击的时候爱奇艺 通过callback_url=__CALLBA CK_URL__将回调地 址发 送给点击监测链接对应的 服务器,URL 用 urlencode 编码。监测平台收到对应用户的 激活信息后,向 CALLBACK_URL 发一个 http 请求,回调激活信息。 监测平台无需关心这个 URL 的构成和内容,URL 对监测平台保持透明。 注意:如您选择的是注册或 付费为转化目标,回调时请 务必添加 event_type 参 数 到链接尾部,用以区别 数据属于激活、注册或付费 (注意:如不添加,则默认 回调 的数据为“激活”数 据)。',
`sign` varchar(255) CHARACTER SET utf8 COLLATE utf8_unicode_ci NULL DEFAULT NULL COMMENT '签名 使用替换后的 url+ key 进 行 md5 生成签名。 注意!!!该字段一定放到 url 的最后,作为最后一个 参数备注:签名是为了接口反作 弊使用,一般 不推荐使用',
`advertiser_id` varchar(32) CHARACTER SET utf8 COLLATE utf8_unicode_ci NULL DEFAULT NULL COMMENT '账户 ID 例如:51200110321',
`order_group_id` varchar(32) CHARACTER SET utf8 COLLATE utf8_unicode_ci NULL DEFAULT NULL COMMENT '广告系列 ID 例如:62000124821',
`order_plan_id` varchar(32) CHARACTER SET utf8 COLLATE utf8_unicode_ci NULL DEFAULT NULL COMMENT '广告 ID 例如:63000206121',
`creative_id` varchar(32) CHARACTER SET utf8 COLLATE utf8_unicode_ci NULL DEFAULT NULL COMMENT '创意 ID 例如:64000276321',
`qy_id` varchar(32) CHARACTER SET utf8 COLLATE utf8_unicode_ci NULL DEFAULT NULL COMMENT '爱奇艺内部 ID 注意:qyid 字段取值 EncodeUR,使用需要 decode',
`impresss_id` varchar(32) CHARACTER SET utf8 COLLATE utf8_unicode_ci NULL DEFAULT NULL COMMENT '广告曝光 ID',
`cloud_iqid` varchar(32) CHARACTER SET utf8 COLLATE utf8_unicode_ci NULL DEFAULT NULL COMMENT '云端 iqid(内广客户需求)',
`cell_phone_manufacturer` varchar(255) CHARACTER SET utf8 COLLATE utf8_unicode_ci NULL DEFAULT NULL COMMENT '手机品牌 字段取值 EncodeUR,使 用需要 decode',
`sua` varchar(255) CHARACTER SET utf8 COLLATE utf8_unicode_ci NULL DEFAULT NULL COMMENT '在 WKWebView 中获取的 标准 UA 字段取值 EncodeUR,使 用需要 decode',
`screen_resolution` bigint(20) NULL DEFAULT NULL COMMENT '分辨率 指的屏幕宽高比,例如: 1920,1080',
`create_time` datetime NOT NULL COMMENT '创建时间',
`update_time` datetime NULL DEFAULT NULL COMMENT '更新时间',
PRIMARY KEY (`id`, `create_time`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 20 CHARACTER SET = utf8 COLLATE = utf8_unicode_ci ROW_FORMAT = Dynamic PARTITION BY LIST (MONTH(create_time))
PARTITIONS 13
(PARTITION `p0` VALUES IN (0) ENGINE = InnoDB MAX_ROWS = 0 MIN_ROWS = 0 ,
PARTITION `p1` VALUES IN (1) ENGINE = InnoDB MAX_ROWS = 0 MIN_ROWS = 0 ,
PARTITION `p10` VALUES IN (10) ENGINE = InnoDB MAX_ROWS = 0 MIN_ROWS = 0 ,
PARTITION `p11` VALUES IN (11) ENGINE = InnoDB MAX_ROWS = 0 MIN_ROWS = 0 ,
PARTITION `p12` VALUES IN (12) ENGINE = InnoDB MAX_ROWS = 0 MIN_ROWS = 0 ,
PARTITION `p2` VALUES IN (2) ENGINE = InnoDB MAX_ROWS = 0 MIN_ROWS = 0 ,
PARTITION `p3` VALUES IN (3) ENGINE = InnoDB MAX_ROWS = 0 MIN_ROWS = 0 ,
PARTITION `p4` VALUES IN (4) ENGINE = InnoDB MAX_ROWS = 0 MIN_ROWS = 0 ,
PARTITION `p5` VALUES IN (5) ENGINE = InnoDB MAX_ROWS = 0 MIN_ROWS = 0 ,
PARTITION `p6` VALUES IN (6) ENGINE = InnoDB MAX_ROWS = 0 MIN_ROWS = 0 ,
PARTITION `p7` VALUES IN (7) ENGINE = InnoDB MAX_ROWS = 0 MIN_ROWS = 0 ,
PARTITION `p8` VALUES IN (8) ENGINE = InnoDB MAX_ROWS = 0 MIN_ROWS = 0 ,
PARTITION `p9` VALUES IN (9) ENGINE = InnoDB MAX_ROWS = 0 MIN_ROWS = 0 )
;
SET FOREIGN_KEY_CHECKS = 1;
2.根据表字段创建分区
上面的sql是我通过Navicate导出的sql,如果是已经创建了表但是没有创建分区可以参考下面语句创建
alter table ocpx_media_platform PARTITION BY LIST (MONTH(create_time))
(
PARTITION p0 VALUES IN (0) ENGINE = InnoDB,
PARTITION p1 VALUES IN (1) ENGINE = InnoDB,
PARTITION p2 VALUES IN (2) ENGINE = InnoDB,
PARTITION p3 VALUES IN (3) ENGINE = InnoDB,
PARTITION p4 VALUES IN (4) ENGINE = InnoDB,
PARTITION p5 VALUES IN (5) ENGINE = InnoDB,
PARTITION p6 VALUES IN (6) ENGINE = InnoDB,
PARTITION p7 VALUES IN (7) ENGINE = InnoDB,
PARTITION p8 VALUES IN (8) ENGINE = InnoDB,
PARTITION p9 VALUES IN (9) ENGINE = InnoDB,
PARTITION p10 VALUES IN (10) ENGINE = InnoDB,
PARTITION p11 VALUES IN (11) ENGINE = InnoDB,
PARTITION p12 VALUES IN (12) ENGINE = InnoDB
)
注意点:
1.分区字段要设置为主键,不设置为主键可以参考其他方法
2.时间字段类型使用datetime
3.查看表分区
select partition_name part,partition_expression expr,partition_description descr,table_rows from INFORMATION_SCHEMA.PARTITIONS where TABLE_SCHEMA=SCHEMA() AND TABLE_NAME='ocpx_media_platform'
更多详情请参考:MYSQL--表分区、查看分区 - J'KYO - 博客园