sql >> Databasteknik >  >> RDS >> Mysql

Partitionering av en databastabell i MySQL

RANGE-partitionering

En tabell som är partitionerad efter intervall är partitionerad på ett sådant sätt att varje partition innehåller rader för vilka partitioneringsuttrycksvärdet ligger inom ett givet intervall.

CREATE TABLE employees (
  school id (integer)
  course_id (integer)
  student_surname (string)
)
  PARTITION BY RANGE (student_surname) (
  PARTITION p0 VALUES LESS THAN ('ezzzzzzzzzzzzzzzzzzzzzzz'),
  PARTITION p1 VALUES LESS THAN ('ozzzzzzzzzzzzzzzzzzzzzzz'),
  PARTITION p2 VALUES LESS THAN ('tzzzzzzzzzzzzzzzzzzzzzzz'),
  PARTITION p3 VALUES LESS THAN (MAXVALUE)
);

Räckviddspartitionering

Datamigrering till en annan DB

MySQLDUMP kommer att mata ut tabellen och data till en fil. Oracle stöder anslutning till andra databaser via ODBC , precis som SQL Server har sin länkade serverkapacitet.

Tillägg

Det är möjligt att partitionera med tre kolumner, men mitt exempel är enligt dina krav i OP:



  1. SQL Server v.Next:STRING_AGG() prestanda

  2. Hur säkerställer du att databaser inte har fragmenterade index

  3. MySQL Långsamt när du går med. Något sätt att snabba upp

  4. Implementera sökning (hoppa över / ta) funktionalitet med denna fråga