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

bendera 'aktif' atau tidak?

Anda mempartisi tabel pada flag aktif, sehingga record aktif berada di satu partisi, dan record tidak aktif berada di partisi lain. Kemudian Anda membuat tampilan aktif untuk setiap tabel yang secara otomatis memiliki filter aktif di atasnya. Mesin kueri basis data secara otomatis membatasi kueri ke partisi yang memiliki catatan aktif di dalamnya, yang jauh lebih cepat daripada menggunakan indeks pada flag itu.

Berikut adalah contoh cara membuat tabel yang dipartisi di Oracle. Oracle tidak memiliki tipe kolom boolean, jadi saya telah memodifikasi struktur tabel Anda untuk tujuan Oracle.

CREATE TABLE people
(
   id       NUMBER(10),
   name     VARCHAR2(100),
   active   NUMBER(1)
)
PARTITION BY LIST(active)
(
   PARTITION active_records VALUES (0)
   PARTITION inactive_records VALUES (1)
);

Jika Anda mau, Anda bisa meletakkan setiap partisi di tablespace yang berbeda. Anda juga dapat mempartisi indeks Anda.

Kebetulan, ini sepertinya pengulangan ini pertanyaan, sebagai pemula saya perlu bertanya, bagaimana prosedur menangani duplikat yang tidak diinginkan?

Sunting: Seperti yang diminta dalam komentar, berikan contoh untuk membuat tabel yang dipartisi di Oracle



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Bagaimana cara menghindari tanda kutip (') di MySql?

  2. Cara Menduplikasi Database menggunakan phpMyAdmin

  3. Urutan MySQL berdasarkan nilai ID tertentu

  4. MySQL TEXT vs BLOB vs CLOB

  5. Bagaimana mendapatkan nilai dari URL