簡體   English   中英

SQL:按列值分區

[英]SQL: Partition by Column Value

我有一個擁有2000萬行的MySQL表。 查詢此數據庫花費了太多時間。 數據庫格式如下:

Column    Column   Column   Sector

data      data     data     Retail
data      data     data     Utility
data      data     data     Retail
data      data     data     Insurance
data      data     data     Retail
data      data     data     Agriculture
data      data     data     Agriculture
data      data     data     Retail

我希望能夠按扇區對數據庫進行分區。 這應該提高指定扇區的查詢的速度。 我嘗試過以下內容並不起作用。 我哪里錯了?

Alter table 'technical' partition by values in `sector`

https://dev.mysql.com/doc/refman/5.7/en/partitioning-types.html

從那些分區類型,我認為LIST COLUMNS分區將是您的最佳選擇。 從這里閱讀有關它的更多詳細信息..

https://dev.mysql.com/doc/refman/5.7/en/partitioning-columns-list.html

你的代碼應該是......

ALTER TABLE technical
PARTITION BY LIST COLUMNS (sector)
  (
    PARTITION p01 VALUES IN ('Retail'),
    PARTITION p02 VALUES IN ('Utility'),
    PARTITION p03 VALUES IN ('Insurance'),
    PARTITION p04 VALUES IN ('Agriculture')
  );

暫無
暫無

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

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