Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Partisi tabel MySQL berdasarkan bulan

Seperti yang dijelaskan oleh manual:http://dev.mysql .com/doc/refman/5.6/en/partitioning-overview.html

Ini dapat dilakukan dengan mudah dengan mempartisi hash dari keluaran bulan.

CREATE TABLE ti (id INT, amount DECIMAL(7,2), tr_date DATE)
    ENGINE=INNODB
    PARTITION BY HASH( MONTH(tr_date) )
    PARTITIONS 6;

Perhatikan bahwa ini hanya partisi berdasarkan bulan dan bukan berdasarkan tahun, juga hanya ada 6 partisi (jadi 6 bulan) dalam contoh ini.

Dan untuk mempartisi tabel yang ada (manual: https://dev.mysql.com/doc/refman/5.7/en/alter-table-partition-operations.html ):

ALTER TABLE ti
    PARTITION BY HASH( MONTH(tr_date) )
    PARTITIONS 6;

Query dapat dilakukan baik dari seluruh tabel:

SELECT * from ti;

Atau dari partisi tertentu:

SELECT * from ti PARTITION (HASH(MONTH(some_date)));


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Permutasi MySQL

  2. Menambahkan bidang alias MySQL bersama-sama

  3. Bagaimana saya bisa melihat kueri MySQL langsung?

  4. Apa cara terbaik untuk menyimpan data sensitif di MySQL?

  5. TIMEDIFF() Contoh – MySQL