1.CREATE SCHEMA `visapp_indexgen`
使用CREATE DATABASE和CREATE SCHEMA来创建数据库,两者在功能上是一致的,创建数据库;
2.DEFAULT CHARACTER SET utf8 ;
设置数据库的编码格式为urf-8
3.建表:
create table命令格式:create table <表名> (<字段名1> <类型1> [,..<字段名n> <类型n>]);
CREATE TABLE `vis_indexgen_urls_02`
(
`dbid` int unsigned NOT NULL, #无符号的整数 ;有符号值:-2147683648 到2147683647(- 231 到231- 1);无符号值:0到4294967295(0 到232 - 1)
`url_md5` char(32) NOT NULL, # char有固定的长度,而varchar属于可变长的字符类型。
`url` varchar(1024) NOT NULL, #char有固定的长度,而varchar属于可变长的字符类型。
`content_sign` bigint unsigned NOT NULL, #有符号值:-9223372036854775808 到9223373036854775807(- 263到263-1);无符号值:0到18446744073709551615(0到264 – 1) 8个字节
`meta_data` varchar(10240) NOT NULL,
`status` tinyint NOT NULL, #tinyint 非常小的整数
`last_update_time` int unsigned NOT NULL, #
`is_ever_published` bit NOT NULL,
`is_in_di` bit NOT NULL,
PRIMARY KEY (`url_md5`, `status`, `dbid`), #主键没有着明确的概念定义,其是索引的一种,并且是唯一性索引的一种,且必须定义为“PRIMARY KEY”,主键不能重复,一个表只能有一个主键。组合的主键,每个列都会隐含定义NOT #NULL约束,且其二者加在一起被定义了UNIQUE 惟一约束。
KEY (`url_md5`, `dbid`)
)
ENGINE=InnoDB DEFAULT CHARSET=utf8 # 数据库存储引擎
PARTITION BY KEY(`dbid`, `status`)
PARTITIONS 1000;
CREATE TABLE `vis_indexgen_contentsign_02`
(
`dbid` int unsigned NOT NULL,
`content_sign` bigint unsigned NOT NULL,
`url_md5` char(32) NOT NULL,
PRIMARY KEY (`url_md5`, `content_sign`, `dbid`),
KEY (`content_sign`, `dbid`)
)
ENGINE=InnoDB DEFAULT CHARSET=utf8
PARTITION BY HASH(`dbid`)
PARTITIONS 1000;
#####
查看分区使用情况:
select partition_name,partition_expression,partition_description,table_rows from information_schema.partitions where table_schema = schema() and table_name = 'vis_indexgen_contentsign_02';
排序:
按照时间,获取最新的数据。降序排列。sql = "select * from user where Putout=true order by time desc" //按最新时间来排序 sql = "select * from user where Putout=true order by time asc" //按早时间来排序
select * from table where original=1 and op=1 and avilable=1 order by update_time desc limit 10\G;