1、PHP如何判断mysql是否支持分区2、按字段范围分区,大家都知道程式为:PARTITION BY RANGE (check_id) (
PARTITION p0 VALUES LESS THAN (1),
PARTITION p1 VALUES LESS THAN (2),
PARTITION p2 VALUES LESS THAN MAXVALUE
);但我不想按范围分,因为我的字段是常数,我想按直接相等分(大家明白吧),想实现下面的意思怎么办呢?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"不用了,对么回答请详细些,同仁们!
PARTITION p0 VALUES LESS THAN (1),
PARTITION p1 VALUES LESS THAN (2),
PARTITION p2 VALUES LESS THAN MAXVALUE
);但我不想按范围分,因为我的字段是常数,我想按直接相等分(大家明白吧),想实现下面的意思怎么办呢?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"不用了,对么回答请详细些,同仁们!
SHOW VARIABLES LIKE '%partition%';
查询结果中没有 have_partition_engine 或 value 列 为 No 时,表示不支持
RANGE分区
LIST分区
HASH分区
KEY分区
子分区不太理解你描述的属于哪种方式,自己分析一下吧
check_id="1"
check_id="2"
check_id="3"
我就是想按照这三种值分区,没描述明白么。但分区程式中“VALUES LESS THAN”是一个范围,不能直接按“值”分么?!