Oracle学习:分区表和索引
什么时候使用Oracle分区: 1、 大数据量的表,比如大于2GB。一方面2GB文件对于32位os是一个上限,另外备份时间长。 2、
什么时候使用Oracle分区:
1、 大数据量的表,比如大于2GB。一方面2GB文件对于32位os是一个上限,另外备份时间长。
2、 包括历史数据的表,比如最新的数据放入到最新的分区中。典型的例子:历史表,只有当前月份的数据可以被修改,而其他月份只能read-only
ORACLE只支持以下分区:tables, indexes on tables, materialized views, and indexes on materialized views
分区对SQL和DML是透明的(应用程序不必知道已经作了分区),但是DDL可以对不同的分区进行管理。
不同的分区之间必须有相同的逻辑属性,比如共同的表名,列名,数据类型,约束;
但是可以有不同的物理属性,比如pctfree, pctused, and tablespaces.
分区独立性:即使某些分区不可用,其他分区仍然可用。
最多可以分成64000个分区,但是具有LONG or LONG RAW列的表不可以,,但是有CLOB or BLOB列的表可以。
可以不用to_date函数,比如:
alter session set nls_date_format='mm/dd/yyyy';
CREATE TABLE sales_range
(salesman_id NUMBER(5),
salesman_name VARCHAR2(30),
sales_amount NUMBER(10),
sales_date DATE)
PARTITION BY RANGE(sales_date)
(
PARTITION sales_jan2000 VALUES LESS THAN('02/01/2000'),
PARTITION sales_feb2000 VALUES LESS THAN('03/01/2000'),
PARTITION sales_mar2000 VALUES LESS THAN('04/01/2000'),
PARTITION sales_apr2000 VALUES LESS THAN('05/01/2000')
);
Partition Key:最多16个columns,可以是nullable的
非分区的表可以有分区或者非分区的索引;
分区表可以有分区或者非分区的索引;
Partitioning 方法:
Range Partitioning
List Partitioning
Hash Partitioning
Composite Partitioning
Composite Partitioning:组合,以及 range-hash and range-list composite partitioning
Range Partitioning:
每个分区都有VALUES LESS THAN子句,表示这个分区小于(=)前一个分区的VALUES LESS THAN值。
MAXVALUE定义最高的分区,他表示一个虚拟的无限大的值。这个分区包括null值。
CREATE TABLE sales_range
(salesman_id NUMBER(5),
salesman_name VARCHAR2(30),
sales_amount NUMBER(10),
sales_date DATE)
PARTITION BY RANGE(sales_date)
(
PARTITION sales_jan2000 VALUES LESS THAN(TO_DATE('01/02/2000','DD/MM/YYYY')),
PARTITION sales_feb2000 VALUES LESS THAN(TO_DATE('01/03/2000','DD/MM/YYYY')),
PARTITION sales_mar2000 VALUES LESS THAN(TO_DATE('01/04/2000','DD/MM/YYYY')),
PARTITION sales_apr2000 VALUES LESS THAN(TO_DATE('01/05/2000','DD/MM/YYYY')),
PARTITION sales_2000 VALUES LESS THAN(MAXVALUE)
);
插入数据:
Insert into sales_range values(1,2,3,to_date('21-04-2000','DD-MM-YYYY'));
Insert into sales_range values(1,2,3,sysdate);
选择数据:
select * from sales_range;
select * from sales_range partition(sales_apr2000);
select * from sales_range partition(sales_mar2000);
select * from sales_range partition(sales_2000);
按照多个列分区:
CREATE TABLE sales_range1
(salesman_id NUMBER(5),
salesman_name VARCHAR2(30),
sales_amount NUMBER(10),
sales_date DATE)
PARTITION BY RANGE(sales_date, sales_amount)
(
PARTITION sales_jan2000 VALUES LESS THAN(TO_DATE('01/02/2000','DD/MM/YYYY'),1000),
PARTITION sales_feb2000 VALUES LESS THAN(TO_DATE('01/03/2000','DD/MM/YYYY'),2000),
PARTITION sales_mar2000 VALUES LESS THAN(TO_DATE('01/04/2000','DD/MM/YYYY'),3000),
PARTITION sales_apr2000 VALUES LESS THAN(TO_DATE('01/05/2000','DD/MM/YYYY'),4000),
PARTITION sales_2000 VALUES LESS THAN(MAXVALUE, MAXVALUE)
);
Insert into sales_range1 values(1,2,500, TO_DATE('21/01/2000','DD/MM/YYYY'));
Insert into sales_range1 values(2,3,1500, sysdate);

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas



Tempoh pengekalan log pangkalan data Oracle bergantung pada jenis log dan konfigurasi, termasuk: Buat semula log: ditentukan oleh saiz maksimum yang dikonfigurasikan dengan parameter "LOG_ARCHIVE_DEST". Log buat semula yang diarkibkan: Ditentukan oleh saiz maksimum yang dikonfigurasikan oleh parameter "DB_RECOVERY_FILE_DEST_SIZE". Log buat semula dalam talian: tidak diarkibkan, hilang apabila pangkalan data dimulakan semula dan tempoh pengekalan adalah konsisten dengan masa berjalan contoh. Log audit: Dikonfigurasikan oleh parameter "AUDIT_TRAIL", dikekalkan selama 30 hari secara lalai.

Jumlah memori yang diperlukan oleh Oracle bergantung pada saiz pangkalan data, tahap aktiviti dan tahap prestasi yang diperlukan: untuk menyimpan penimbal data, penimbal indeks, melaksanakan pernyataan SQL dan mengurus cache kamus data. Jumlah yang tepat dipengaruhi oleh saiz pangkalan data, tahap aktiviti dan tahap prestasi yang diperlukan. Amalan terbaik termasuk menetapkan saiz SGA yang sesuai, saiz komponen SGA, menggunakan AMM dan memantau penggunaan memori.

Keperluan konfigurasi perkakasan pelayan pangkalan data Oracle: Pemproses: berbilang teras, dengan frekuensi utama sekurang-kurangnya 2.5 GHz Untuk pangkalan data yang besar, 32 teras atau lebih disyorkan. Memori: Sekurang-kurangnya 8GB untuk pangkalan data kecil, 16-64GB untuk saiz sederhana, sehingga 512GB atau lebih untuk pangkalan data yang besar atau beban kerja yang berat. Storan: Cakera SSD atau NVMe, tatasusunan RAID untuk lebihan dan prestasi. Rangkaian: Rangkaian berkelajuan tinggi (10GbE atau lebih tinggi), kad rangkaian khusus, rangkaian kependaman rendah. Lain-lain: Bekalan kuasa yang stabil, komponen berlebihan, sistem pengendalian dan perisian yang serasi, pelesapan haba dan sistem penyejukan.

Jumlah memori yang diperlukan untuk pangkalan data Oracle bergantung pada saiz pangkalan data, jenis beban kerja dan bilangan pengguna serentak. Cadangan am: Pangkalan data kecil: 16-32 GB, Pangkalan data sederhana: 32-64 GB, Pangkalan data besar: 64 GB atau lebih. Faktor lain yang perlu dipertimbangkan termasuk versi pangkalan data, pilihan pengoptimuman memori, virtualisasi dan amalan terbaik (pantau penggunaan memori, laraskan peruntukan).

Untuk mencipta tugas berjadual dalam Oracle yang dilaksanakan sekali sehari, anda perlu melakukan tiga langkah berikut: Buat kerja. Tambahkan subkerja pada kerja dan tetapkan ungkapan jadualnya kepada "INTERVAL 1 HARI". Dayakan kerja.

Keluaran terbaharu Apple bagi sistem iOS18, iPadOS18 dan macOS Sequoia telah menambah ciri penting pada aplikasi Photos, yang direka untuk membantu pengguna memulihkan foto dan video yang hilang atau rosak dengan mudah disebabkan pelbagai sebab. Ciri baharu ini memperkenalkan album yang dipanggil "Dipulihkan" dalam bahagian Alat pada apl Foto yang akan muncul secara automatik apabila pengguna mempunyai gambar atau video pada peranti mereka yang bukan sebahagian daripada pustaka foto mereka. Kemunculan album "Dipulihkan" menyediakan penyelesaian untuk foto dan video yang hilang akibat kerosakan pangkalan data, aplikasi kamera tidak disimpan ke pustaka foto dengan betul, atau aplikasi pihak ketiga yang menguruskan pustaka foto. Pengguna hanya memerlukan beberapa langkah mudah

Cara menggunakan MySQLi untuk mewujudkan sambungan pangkalan data dalam PHP: Sertakan sambungan MySQLi (require_once) Cipta fungsi sambungan (functionconnect_to_db) Fungsi sambungan panggilan ($conn=connect_to_db()) Laksanakan pertanyaan ($result=$conn->query()) Tutup sambungan ( $conn->close())

Untuk mengendalikan ralat sambungan pangkalan data dalam PHP, anda boleh menggunakan langkah berikut: Gunakan mysqli_connect_errno() untuk mendapatkan kod ralat. Gunakan mysqli_connect_error() untuk mendapatkan mesej ralat. Dengan menangkap dan mengelog mesej ralat ini, isu sambungan pangkalan data boleh dikenal pasti dan diselesaikan dengan mudah, memastikan kelancaran aplikasi anda.
