例如下面的语名
CREATE TABLE employees (
id INT NOT NULL,
fname VARCHAR(30),
lname VARCHAR(30),
hired DATE NOT NULL DEFAULT '1970-01-01',
separated DATE NOT NULL DEFAULT '9999-12-31',
job_code INT NOT NULL,
store_id INT NOT NULL
)
PARTITION BY RANGE (store_id) (
PARTITION p0 VALUES LESS THAN (6),
PARTITION p1 VALUES LESS THAN (11),
PARTITION p2 VALUES LESS THAN (16),
PARTITION p3 VALUES LESS THAN MAXVALUE
);
是以range分区,查询的时候where store_id>11 and store_id<15时会直接跳过其它分区,只扫描第二个分区,效率很高
我要做的是一个存放蕊片的表,有 型号,数量,价格,厂商,备注等字段,主要查询条件是 where 型号=“××”这样的查询,也就是说"型号“是
一个char类型的字段,这样的话我该如何分区,用什么类型,查找了很多资料都难以很好高效地解决。偶想到一种方法,就是将型号md5后得到字符串,然后然字符串转换为十进制字数字,以这个数字为区间存放,查询的时候先把查询条件转变为数字,再去找区间
这样可以跳过其它分区,找到相应的分区,但是出现一种情况,就是说某一种型号可能很多,这样就会集中放在一个区中,其它区却很少数据,又或者会出理md5后的字符串
转变为十进制后会重复,这样导至不是一样型号的列有一个同样的数值,
晕晕啊,mysql分区还有hash,key也是是懂非懂的,现在要做的项目是这个表的数据超过亿条,只能分表处理,却找不到好的方案
请做过这样功能的高手仔细地帮我回答一下,不胜感谢。。
CREATE TABLE employees (
id INT NOT NULL,
fname VARCHAR(30),
lname VARCHAR(30),
hired DATE NOT NULL DEFAULT '1970-01-01',
separated DATE NOT NULL DEFAULT '9999-12-31',
job_code INT NOT NULL,
store_id INT NOT NULL
)
PARTITION BY RANGE (store_id) (
PARTITION p0 VALUES LESS THAN (6),
PARTITION p1 VALUES LESS THAN (11),
PARTITION p2 VALUES LESS THAN (16),
PARTITION p3 VALUES LESS THAN MAXVALUE
);
是以range分区,查询的时候where store_id>11 and store_id<15时会直接跳过其它分区,只扫描第二个分区,效率很高
我要做的是一个存放蕊片的表,有 型号,数量,价格,厂商,备注等字段,主要查询条件是 where 型号=“××”这样的查询,也就是说"型号“是
一个char类型的字段,这样的话我该如何分区,用什么类型,查找了很多资料都难以很好高效地解决。偶想到一种方法,就是将型号md5后得到字符串,然后然字符串转换为十进制字数字,以这个数字为区间存放,查询的时候先把查询条件转变为数字,再去找区间
这样可以跳过其它分区,找到相应的分区,但是出现一种情况,就是说某一种型号可能很多,这样就会集中放在一个区中,其它区却很少数据,又或者会出理md5后的字符串
转变为十进制后会重复,这样导至不是一样型号的列有一个同样的数值,
晕晕啊,mysql分区还有hash,key也是是懂非懂的,现在要做的项目是这个表的数据超过亿条,只能分表处理,却找不到好的方案
请做过这样功能的高手仔细地帮我回答一下,不胜感谢。。
解决方案 »
- 如何有效的将数据库更新的数据推送给客户端?
- mysql没有(+)的符号么?
- 求MySQL早期源代码
- exec('mysqldump -uroot -proot dbName xxxxx > myFile'); 之后文件如何释放?
- 5/27/2010 8:04:52 PM 这样格式的时间怎么插入到MySql数据库里面的一个DateTime字段里面去.
- PL/SQL问题,大侠帮帮忙!急急急!
- 求一SQL语句,谢谢大家
- mysql没有oracle的for update吗?
- 问一个有关数据库开发效率的业务逻辑
- MySql查询时间段的方法
- 写存储过程时可否在Select 里再套Select?
- 急!!向各位高手请教一个关于日期处理的SQL问题!!!
兄弟我还更郁闷呢。。
需求跟LZ的差不多,
数据少点。。
问题是 lz 那个 "型号" 的 char 字段在我这里需要有模糊查找的功能。
晕死我。。
艰难求解中....