Rumah > Artikel > pangkalan data > partition jadual pertanyaan oracle
Memandangkan jumlah data terus berkembang, keperluan yang lebih tinggi dikemukakan untuk kecekapan pertanyaan dan kelajuan operasi pangkalan data. Dalam pangkalan data Oracle, teknologi pembahagian jadual digunakan secara meluas untuk meningkatkan kecekapan pertanyaan dan prestasi pengurusan pangkalan data.
Pembahagian jadual adalah untuk menguraikan jadual kepada beberapa bahagian kecil dan bebas, setiap bahagian dipanggil partition. Unit pemprosesan partition ialah subset logik jadual ini boleh menjadi satu baris, julat atau koleksi logik lain yang ditentukan. Setiap partition disimpan dalam ruang jadual yang berbeza dan boleh berdasarkan peranti fizikal yang berbeza untuk memperuntukkan ruang storan dan mengurus data dengan lebih baik.
Dalam pangkalan data Oracle, teknologi pembahagian jadual membantu meningkatkan kecekapan pertanyaan data, mengurangkan masa pemprosesan data dan juga meningkatkan prestasi pengurusan data. Apabila jumlah data jadual sangat besar, pembahagian jadual mempunyai kelebihan yang jelas dan boleh memendekkan masa pertanyaan pada tahap yang besar.
Dalam pangkalan data Oracle, kaedah pertanyaan bagi jadual terbahagi adalah berbeza berbanding dengan jadual tidak terbahagi. Oleh kerana setiap partition mempunyai ruang jadual bebas, anda perlu menentukan partition mana untuk menanyakan data semasa membuat pertanyaan. Di bawah, kami akan memperkenalkan cara membuat pertanyaan sekatan jadual dalam pangkalan data Oracle.
1. Penerangan jadual asas
Untuk menunjukkan kaedah pembahagian jadual pertanyaan dengan lebih baik, kita perlu mencipta jadual ujian terlebih dahulu. Di bawah kami akan mengambil jadual produk sebagai contoh untuk mencipta jadual test_partition, yang dipisahkan secara mendatar menggunakan medan product_id.
(1) Cipta partition table test_partition
CIPTA JADUAL test_partition (
product_id NOMBOR(10) KUNCI UTAMA,
product_name VARCHAR2(50),
kuantiti NOMBOR(10 ) ),
harga NOMBOR(10,2),
tarikh_jualan TARIKH
)
PARTISITION MENGIKUT Julat (id_produk)
(
PARTITION p1 NILAI KURANG DARIPADA (100),
PARTITION p2 NILAI KURANG DARIPADA (200),
PARTITION p3 NILAI KURANG DARIPADA (300),
PARTITION p4 NILAI KURANG DARIPADA (MAXVALUE)
);
(2) Import data ujian
Untuk menunjukkan kesan pembahagian jadual pertanyaan, kami perlu mengimport beberapa data ujian untuk jadual ujian_partition. Berikut ialah pernyataan SQL untuk mengimport data ujian:
--Import data ujian
MASUKKAN KE DALAM NILAI sekatan_ujian (1,'Produk 1',100,20.00,to_date('2019-01-01' ,' yyyy-mm-dd'));
MASUKKAN KE DALAM NILAI test_partition (50,'Produk 50',200,30.00,to_date('2019-01-02','yyyy-mm-dd'));
MASUKKAN KE DALAM ujian_partition NILAI (100,'Produk 100',300,40.00,to_date('2019-01-03','yyyy-mm-dd'));
MASUKKAN KE dalam test_partition NILAI (150,' Produk 150 ',400,50.00,to_date('2019-01-04','yyyy-mm-dd'));
MASUKKAN KE DALAM test_partition NILAI (200,'Product 200',500,60.00,to_date(' 2019- 01-05','yyyy-mm-dd'));
MASUKKAN KE DALAM test_partition NILAI (250,'Produk 250',600,70.00,to_date('2019-01-06','yyyy-mm -dd '));
MASUKKAN KE DALAM test_partition NILAI (300,'Produk 300',700,80.00,to_date('2019-01-07','yyyy-mm-dd'));
MASUKKAN KE DALAM test_partition VALUES (350,'Product 350',800,90.00,to_date('2019-01-08','yyyy-mm-dd'));
2
Setelah jadual partition test_partition dicipta dan data ujian diimport, kami boleh mula menguji kaedah menanya partition jadual. 1. Tanya data semua partition Untuk menanyakan data semua partition, anda boleh terus menggunakan pernyataan SQL berikut: SELECT *DARI test_partition ;
FROM test_partition
WHERE product_id < 100;
DARI test_partition
GROUP BY partition_name;
FROM test_partition PARTITION (p1);
Atas ialah kandungan terperinci partition jadual pertanyaan oracle. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!