sql >> Database teknologi >  >> RDS >> Mysql

MySQL 5.5 partitionstabel fra A-Z

Hvis du er fast besluttet på at gøre det ved det første bogstav, tror jeg, at RANGE partitionering ville gøre tricket. Men hvis du ikke har et absolut krav til partitionering med første bogstav, LINEÆR NØGLE-partitionering kan være bedre.

Her er et eksempel, jeg løftede fra den manuelle side, der er placeret og ændret til at bruge en varchar-kolonne:

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
);

Og køre det:

... 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]



  1. SQL Server 2008 - Hvordan returnerer jeg en brugerdefineret tabeltype fra en funktion med tabelværdi?

  2. Får maks. værdi fra rækker og forbinder til en anden tabel

  3. MySQL skelnen mellem e og é (e akut) - UNIKT indeks

  4. Installer webserver i Windows XP med Apache2, PHP5 og MySQL4 – del 1