Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Jak podzielić tabelę MySQL na partycje na podstawie kolumny char?

Partycjonowanie w MySQL 5.1 może obsługiwać tylko kolumny z liczbami całkowitymi (Źródło ). Możesz użyć tylko kilku funkcji partycjonowania w kolumnach niebędących liczbami całkowitymi. Na przykład:

CREATE TABLE ti (id INT, amount DECIMAL(7,2), tr_date DATE)
   ENGINE=INNODB
   PARTITION BY HASH( MONTH(tr_date) )
   PARTITIONS 6;

Możesz także użyć partycjonowania kluczy w MySQL 5.1, o ile klucz podstawowy zawiera wszystkie kolumny w funkcji partycjonowania tabeli:

CREATE TABLE k1 (
   id CHAR(3) NOT NULL PRIMARY KEY,
   value int
)
PARTITION BY KEY(id)
PARTITIONS 10;

Z drugiej strony w MySQL 5.5 możesz użyć partycjonowanie kolumn zakresu lub partycjonowanie kolumn listy na szerokiej gamie typów danych, w tym kolumnach znakowych.

Przykład listy kolumn:

CREATE TABLE expenses (
   expense_date DATE NOT NULL,
   category VARCHAR(30),
   amount DECIMAL (10,3)
);

ALTER TABLE expenses
PARTITION BY LIST COLUMNS (category)
(
   PARTITION p01 VALUES IN ('lodging', 'food'),
   PARTITION p02 VALUES IN ('flights', 'ground transportation'),
   PARTITION p03 VALUES IN ('leisure', 'customer entertainment'),
   PARTITION p04 VALUES IN ('communications'),
   PARTITION p05 VALUES IN ('fees')
);

Przykład kolumn zakresu:

CREATE TABLE range_test (
   code CHAR(3),
   value INT
)
PARTITION BY RANGE COLUMNS(code) (
   PARTITION p0 VALUES LESS THAN ('MMM'),
   PARTITION p1 VALUES LESS THAN ('ZZZ')
);

Dalsza lektura:



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Nie można pobrać klucza podstawowego identyfikatora niestandardowego po metodzie Laravel save()

  2. Uzyskiwanie dostępu do tablicy w tablicy PHP

  3. Dlaczego ustawienie strefy czasowej Django wpływa na czas epoki?

  4. Jak usunąć określony wiersz z tabeli mysql z tymi samymi wartościami kolumn?

  5. Projekt bazy danych do przechowywania wiadomości czatu między ludźmi