簡體   English   中英

按列值對MySQL表進行分區

[英]Partition MySQL table by Column Value

我有一個擁有2000萬行的MySQL表。 我想分區以提高速度。 該表格式如下:

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查看表格時,它會顯示: phpMyAdmin MySQL分區

sector如何低於capital goods

我究竟做錯了什么?

問題只是phpMyAdmin以不尋常的方式重新呈現數據。 數據庫現在按預期工作,查詢如下:

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

跑得快得多。

感謝Drew,Uueerdo,Rick James和其他所有人幫助我理解這個問題。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM