Qu'est-ce que le partitionnement MYSQL?

J'ai lu la documentation (http://dev.mysql.com/doc/refman/5.1/en/partitioning.html), mais je voudrais, dans vos propres mots, ce que c'est et pourquoi il est utilisé.

  1. est-il principalement utilisé pour plusieurs serveurs afin de ne pas faire glisser un serveur?
  2. Ainsi, une partie des données sera sur serveur1, et une partie des données sera sur server2. Et le serveur 3 "pointera" vers server1 ou server2...is c'est comme ça que ça marche?
  3. Pourquoi la documentation MYSQL se concentre-t-elle sur le partitionnement dans le même serveur...si le but est de le diffuser sur les serveurs?
56
demandé sur Zed 2009-10-16 23:23:32

1 réponses

L'idée derrière le partitionnement n'est pas d'utiliser plusieurs serveurs mais d'utiliser plusieurs tables au lieu d'une table. Vous pouvez diviser une table en plusieurs tables afin d'avoir d'anciennes données dans une sous-table et de nouvelles données dans une autre table. Ensuite, la base de données peut optimiser les requêtes où vous demandez de nouvelles données en sachant qu'elles se trouvent dans la deuxième table. De plus, vous définissez comment les données sont partitionnées.

Exemple simple de la Documentation 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
);

Cela permet de accélérer par exemple:

  1. Suppression des anciennes données par simple:

    ALTER TABLE employees DROP PARTITION p0;
    
  2. Base de données peut accélérer une requête comme ceci:

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

Sachant que toutes les données sont stockées uniquement sur la partition p2.

144
répondu Szymon Lipiński 2016-03-30 06:11:46