按列值分区 MySQL table

Partition MySQL table by Column Value

我有一个 MySQL table 有 2000 万行。我想分区以提高速度。 table 的格式如下:

column    column   column   sector

data      data     data     Capital Goods
data      data     data     Transportation
data      data     data     Technology
data      data     data     Technology
data      data     data     Capital Goods
data      data     data     Finance
data      data     data     Finance

我已使用以下代码应用分区:

ALTER TABLE technical
PARTITION BY LIST COLUMNS (sector)
(
PARTITION P1 VALUES IN ('Capital Goods'),
PARTITION P2 VALUES IN ('Health Care'),
PARTITION P3 VALUES IN ('Transportation'),
PARTITION P4 VALUES IN ('Finance'),
PARTITION P5 VALUES IN ('Technology'),
PARTITION P6 VALUES IN ('Consumer Services'),
PARTITION P7 VALUES IN ('Energy'),
PARTITION P8 VALUES IN ('Healthcare'),
PARTITION P9 VALUES IN ('Consumer Non-Durables'),
PARTITION P10 VALUES IN ('Consumer Durables')
);

到目前为止一切正常,但是当我通过 phpMyAdmin 查看 table 时,它显示:

sector怎么会小于capital goods

我做错了什么?

问题只是 phpMyAdmin 以一种不寻常的方式重新发送数据。数据库现在按预期工作,查询如:

SELECT * WHERE ... AND sector = "Energy" 

运行 快得多。

感谢 Drew、Uueerdo、Rick James 和其他帮助我理解这个问题的人。