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

Co to jest partycjonowanie MYSQL?

Ideą partycjonowania nie jest używanie wielu serwerów, ale używanie wielu tabel zamiast jednej tabeli. Tabelę można podzielić na wiele tabel, dzięki czemu stare dane można umieścić w jednej podtabeli, a nowe dane w innej tabeli. Wtedy baza danych może zoptymalizować zapytania, w których prosisz o nowe dane, wiedząc, że znajdują się one w drugiej tabeli. Co więcej, określasz sposób partycjonowania danych.

Prosty przykład z dokumentacji MySQL :

CREATE TABLE employees (
    id INT NOT NULL,
    fname VARCHAR(30),
    lname VARCHAR(30),
    hired DATE NOT NULL DEFAULT '1970-01-01',
    separated DATE NOT NULL DEFAULT '9999-12-31',
    job_code INT,
    store_id INT
)
PARTITION BY RANGE ( YEAR(separated) ) (
    PARTITION p0 VALUES LESS THAN (1991),
    PARTITION p1 VALUES LESS THAN (1996),
    PARTITION p2 VALUES LESS THAN (2001),
    PARTITION p3 VALUES LESS THAN MAXVALUE
);

Pozwala to przyspieszyć np.:

  1. Proste usuwanie starych danych:

    ALTER TABLE employees DROP PARTITION p0;
    
  2. Baza danych może przyspieszyć zapytanie w ten sposób:

    SELECT COUNT(*)
    FROM employees
    WHERE separated BETWEEN '2000-01-01' AND '2000-12-31'
    GROUP BY store_id;
    

Wiedząc, że wszystkie dane są przechowywane tylko na partycji p2.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Naucz się podstawowych zapytań SQL przy użyciu MySQL

  2. Jak utworzyć złożony klucz podstawowy w MySQL

  3. Rozpakowywanie wywołań bazy danych węzłów

  4. Ostrzeżenie:mysql_num_rows():podany argument nie jest prawidłowym zasobem wynikowym MySQL

  5. Czas przechowywania MySQL - typ danych?