日期:2014-05-17  浏览次数:20385 次

请进,几个问题
1、PHP如何判断mysql是否支持分区

2、按字段范围分区,大家都知道程式为:
SQL code

PARTITION BY RANGE (check_id) (
PARTITION p0 VALUES LESS THAN (1),
PARTITION p1 VALUES LESS THAN (2),
PARTITION p2 VALUES LESS THAN MAXVALUE
);


但我不想按范围分,因为我的字段是常数,我想按直接相等分(大家明白吧),想实现下面的意思怎么办呢?
SQL code

PARTITION BY RANGE (check_id) (
PARTITION p0 VALUES=(1),
PARTITION p1 VALUES=(2),
PARTITION p2 VALUES=MAXVALUE
);


另,字段check_id如果为字符串(比如固定值A、B、C)是否也可以

3、对分好区的表,查询时如何指定分区查询。(因为我知道要查的数据就在某分区)
比如我将字段check_id="1"的数据分到part_01,check_id="2"的分到part_02,那么:
  SELECT * FROM text WHERE word="abc" AND check_id="1";
是不是可以直接写成:
  SELECT * FROM text PARTITION(part_01) WHERE word="abc"; //这里check_id="1"不用了,对么

回答请详细些,同仁们!

------解决方案--------------------
mysql 的數據分區。百度一下。
------解决方案--------------------
百度吧
------解决方案--------------------
1、PHP如何判断mysql是否支持分区
SHOW VARIABLES LIKE '%partition%';
查询结果中没有 have_partition_engine 或 value 列 为 No 时,表示不支持
------解决方案--------------------
mysql 支持 5 种分区方式
RANGE分区
LIST分区
HASH分区
KEY分区
子分区

不太理解你描述的属于哪种方式,自己分析一下吧
------解决方案--------------------
http://dev.mysql.com/doc/refman/5.1/zh/partitioning.html

文档里有分区的介绍。不同分区是不一样的