mysql删除主键、复合主键、分区、分区查询

2018-04-08

删除主键并增加复合主键

ALTER TABLE `table_name`

DROP PRIMARY KEY,

ADD PRIMARY KEY (`id`, `createTime`);

今天发现一个简单比百度还快大方法,如果你忘记了或者不知道你的需求需要怎么写sql 可以使用navicat 的功能来帮你写出sql

例如:

mysql删除主键、复合主键、分区、分区查询_第1张图片

mysql删除主键、复合主键、分区、分区查询_第2张图片

在对应的sql预览中就自动生成sql。(不要说为啥鼠标能操作的为啥还要sql操作,不是所有系统都能用鼠标操作的)

同事sql太长还可以用navicat的美化功能。

表分区:

今天我实现的是为已存在的表分区,用的是hash分区

具体实现:alter table url_byte_total_1 partition by hash(DAY(`day`)) partitions 30;

我是按照天 做 30分区,因为我们数据查询最频繁的是当前一天 ,然后是最近几天 直到这个月。然后我想这张表中只放一个月的数据,按照每个月的日期定时把会有冲突(两个月放到同一个分区的那天)的那天放到历史表中。

遇到的问题:

使用大于和小于号会去查询所有分区,用in和=加or可以代替,但是我看书上写的可以用“>(也有可能是设计不一样,它的设计个按照年分用的RANGE分区)  

你可能感兴趣的:(数据库)