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

Partisi tabel Mysql berdasarkan digit terakhir kolom/id

Saya bertanya-tanya apakah ada fungsi mod yang diizinkan saat membuat partisi, saya melakukannya menggunakan

CREATE TABLE ti (id INT, amount DECIMAL(7,2))
ENGINE=INNODB
PARTITION BY HASH( MOD(id,10) )
PARTITIONS 10;

ini membuat 10 partisi setiap id masuk ke partisinya diakhiri dengan nomor yang sama dengan digit terakhir id

Saya menambahkan beberapa baris

    INSERT INTO ti VALUES (23123,343.22);
    INSERT INTO ti VALUES (23123,343.22);
    INSERT INTO ti VALUES (23144,343.22);
    INSERT INTO ti VALUES (23114,343.22);
    INSERT INTO ti VALUES (23124,343.22);
    INSERT INTO ti VALUES (23166,343.22);
    INSERT INTO ti VALUES (23116,343.22);
    INSERT INTO ti VALUES (23112,343.22);
    INSERT INTO ti VALUES (23199,343.22);

lalu mengujinya

 SELECT
  partition_name part,
  partition_expression expr,
  partition_description descr,
  table_rows
FROM
  INFORMATION_SCHEMA.partitions
WHERE
  TABLE_SCHEMA = SCHEMA()
  AND TABLE_NAME='ti';

KELUARAN:

part    expr    descr   table_rows
p0   MOD(id,10) \N  0
p1   MOD(id,10) \N  0
p2   MOD(id,10) \N  1
p3   MOD(id,10) \N  2
p4   MOD(id,10) \N  3
p5   MOD(id,10) \N  0
p6   MOD(id,10) \N  2
p7   MOD(id,10) \N  0
p8   MOD(id,10) \N  0
p9   MOD(id,10) \N  1

persis seperti yang saya inginkan, terima kasih telah menunjuk ke tautan yang benar Penyamaran, tetapi jawaban Anda salah, mungkin Anda salah memahaminya



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Java memeriksa apakah nilainya ada di database

  2. Apakah urutan tabel dalam gabungan langsung, tanpa arahan petunjuk, memengaruhi kinerja?

  3. Cara membaca LONGBLOB dari MySQL

  4. MySQL menganggap subquery diturunkan padahal tidak!

  5. Menghubungkan ke instans Amazon RDS melalui instans EC2 menggunakan MySQL Workbench