sql >> Base de Datos >  >> RDS >> Mysql

Tabla de particiones MySQL 5.5 por A-Z

Si está decidido a hacerlo por la primera letra, creo que Partición de RANGO haría el truco. Sin embargo, si no tiene un requisito absoluto para la partición por primera letra, particionamiento CLAVE LINEAL podría ser mejor.

Aquí hay un ejemplo que tomé de la página del manual ubicada y modificada para usar una columna varchar:

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 NOT NULL,
    store_id INT NOT NULL
)
PARTITION BY RANGE COLUMNS(fname) (
    PARTITION p0 VALUES LESS THAN ('h'),
    PARTITION p1 VALUES LESS THAN ('m'),
    PARTITION p2 VALUES LESS THAN ('t'),
    PARTITION p3 VALUES LESS THAN MAXVALUE
);

Y ejecutándolo:

... Physical database connection acquired for: Feynman
 12:33:07  [CREATE - 0 row(s), 0.062 secs]  Command processed. No rows were affected
... 1 statement(s) executed, 0 row(s) affected, exec/fetch time: 0.062/0.000 sec  [0 successful, 1 warnings, 0 errors]