cari
Rumahpangkalan datatutorial mysqlBagaimanakah klausa `PARTITION BY` dan `KEEP` berbeza dalam pembahagian data Oracle?

How do `PARTITION BY` and `KEEP` clauses differ in Oracle's data partitioning?

PARTITION BY dengan dan tanpa KEEP dalam Oracle

Apabila membahagikan data dalam Oracle, terdapat dua pilihan utama yang tersedia: PARTITION BY dan KEEP. Kedua-dua pilihan boleh digunakan untuk mengumpulkan data kepada subset yang lebih kecil, tetapi ia mempunyai kesan yang berbeza pada data yang terhasil.

PARTITITION BY

Klausa PARTITION BY digunakan untuk membahagikan jadual kepada sekatan yang lebih kecil berdasarkan satu atau lebih lajur. Data dalam setiap partition disimpan secara berasingan daripada data dalam partition lain. Ini boleh meningkatkan prestasi untuk jenis pertanyaan tertentu, seperti pertanyaan yang menapis data mengikut nilai lajur tertentu.

Sebagai contoh, pertanyaan berikut menggunakan klausa PARTITION BY untuk membahagikan jadual empl kepada partition berdasarkan deptno ruangan:

SELECT empno,
       deptno,
       sal,
       MIN(sal) OVER (PARTITION BY deptno) AS "Lowest",
       MAX(sal) OVER (PARTITION BY deptno) AS "Highest"
FROM empl;

Pertanyaan ini akan mengembalikan gaji terendah dan tertinggi bagi setiap jabatan. Data untuk setiap jabatan akan disimpan dalam partition berasingan, yang akan meningkatkan prestasi untuk pertanyaan yang menapis data mengikut jabatan.

KEEP

Klausa KEEP digunakan untuk tentukan baris mana yang perlu disimpan daripada setiap partition. Klausa KEEP boleh digunakan dengan sama ada klausa PARTITION BY atau klausa DISTINCT.

Apabila digunakan dengan klausa PARTITION BY, klausa KEEP menentukan baris mana yang perlu disimpan daripada setiap partition. Sebagai contoh, pertanyaan berikut menggunakan klausa KEEP untuk menyimpan hanya baris pertama daripada setiap partition:

SELECT empno,
       deptno,
       sal,
       MIN(sal) OVER (PARTITION BY deptno) AS "Lowest",
       MAX(sal) OVER (PARTITION BY deptno) AS "Highest"
FROM empl
KEEP (DENSE_RANK FIRST ORDER BY sal) OVER (PARTITION BY deptno);

Pertanyaan ini akan mengembalikan gaji terendah dan tertinggi untuk setiap jabatan, tetapi ia hanya akan mengembalikan baris pertama daripada setiap partition. Ini boleh berguna untuk pertanyaan yang perlu mengembalikan bilangan baris yang terhad atau untuk pertanyaan yang perlu mengembalikan data dalam susunan tertentu.

Perbezaan antara PARTITION BY dan KEEP

Perbezaan utama antara PARTITION BY dan KEEP ialah PARTITION BY membahagikan data kepada partition yang lebih kecil, manakala KEEP menentukan yang mana baris untuk disimpan dari setiap partition. PARTITION BY boleh digunakan untuk meningkatkan prestasi bagi jenis pertanyaan tertentu, manakala KEEP boleh digunakan untuk mengehadkan bilangan baris yang dikembalikan oleh pertanyaan atau untuk mengembalikan data dalam susunan tertentu.

Atas ialah kandungan terperinci Bagaimanakah klausa `PARTITION BY` dan `KEEP` berbeza dalam pembahagian data Oracle?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
MySQL: Blob dan penyimpanan No-SQL yang lain, apakah perbezaannya?MySQL: Blob dan penyimpanan No-SQL yang lain, apakah perbezaannya?May 13, 2025 am 12:14 AM

Mysql'sblobissusuipableforstoringbinarydatawithinarelationaldatabase, sementara

MySQL Tambah Pengguna: Sintaks, Pilihan, dan Amalan Terbaik KeselamatanMySQL Tambah Pengguna: Sintaks, Pilihan, dan Amalan Terbaik KeselamatanMay 13, 2025 am 12:12 AM

Toaddauserinmysql, gunakan: createuser'username '@' host'identifiedby'password '; here'showtodoitsecurely: 1) choosethehostcareflelytocon trolaccess.2) SetResourcelImitSwithOptionsLikeMax_queries_per_hour.3) USESTRONG, UNIQUEPASSWORDS.4) Enforcessl/TLSConnectionswith

MySQL: Bagaimana untuk mengelakkan jenis data rentetan kesilapan biasa?MySQL: Bagaimana untuk mengelakkan jenis data rentetan kesilapan biasa?May 13, 2025 am 12:09 AM

Toavoidcommonmistakeswithstringdatatypesinmysql, fahamistringtypenuances, choosetherighttype, danManageencodingandcollationsettingsefectively.1) usecharfarfixed-lengthstrings, varcharforvariable-length, andtext/blobforlargerdata.2)

MySQL: Jenis data rentetan dan enum?MySQL: Jenis data rentetan dan enum?May 13, 2025 am 12:05 AM

Mysqloffersechar, varchar, teks, anddenumforstringdata.usecharforfixed-lengthstrings, varcharerforvariable-length, teks forlarger text, andenumforenforcingdataantegritywithaetofvalues.

Blob Mysql: Cara mengoptimumkan permintaan gumpalanBlob Mysql: Cara mengoptimumkan permintaan gumpalanMay 13, 2025 am 12:03 AM

Mengoptimumkan permintaan mysqlblob boleh dilakukan melalui strategi berikut: 1. Mengurangkan kekerapan pertanyaan gumpalan, gunakan permintaan bebas atau pemuatan kelewatan; 2. Pilih jenis gumpalan yang sesuai (seperti TinyBlob); 3. Pisahkan data gumpalan ke dalam jadual berasingan; 4. Mampat data gumpalan di lapisan aplikasi; 5. Indeks metadata gumpalan. Kaedah ini dapat meningkatkan prestasi dengan berkesan dengan menggabungkan pemantauan, caching dan data sharding dalam aplikasi sebenar.

Menambah Pengguna ke MySQL: Tutorial LengkapMenambah Pengguna ke MySQL: Tutorial LengkapMay 12, 2025 am 12:14 AM

Menguasai kaedah menambah pengguna MySQL adalah penting untuk pentadbir pangkalan data dan pemaju kerana ia memastikan keselamatan dan kawalan akses pangkalan data. 1) Buat pengguna baru menggunakan perintah CreateUser, 2) Berikan kebenaran melalui perintah geran, 3) Gunakan flushprivileges untuk memastikan kebenaran berkuatkuasa, 4) kerap mengaudit dan membersihkan akaun pengguna untuk mengekalkan prestasi dan keselamatan.

Menguasai Jenis Data String MySQL: Varchar vs Text vs. CharMenguasai Jenis Data String MySQL: Varchar vs Text vs. CharMay 12, 2025 am 12:12 AM

ChooseCHARforfixed-lengthdata,VARCHARforvariable-lengthdata,andTEXTforlargetextfields.1)CHARisefficientforconsistent-lengthdatalikecodes.2)VARCHARsuitsvariable-lengthdatalikenames,balancingflexibilityandperformance.3)TEXTisidealforlargetextslikeartic

MySQL: Jenis Data String dan Pengindeksan: Amalan TerbaikMySQL: Jenis Data String dan Pengindeksan: Amalan TerbaikMay 12, 2025 am 12:11 AM

Amalan terbaik untuk mengendalikan jenis data rentetan dan indeks dalam MySQL termasuk: 1) Memilih jenis rentetan yang sesuai, seperti char untuk panjang tetap, varchar untuk panjang berubah, dan teks untuk teks besar; 2) berhati-hati dalam pengindeksan, elakkan daripada mengindeks, dan buat indeks untuk pertanyaan umum; 3) Gunakan indeks awalan dan indeks teks penuh untuk mengoptimumkan carian rentetan panjang; 4) Secara kerap memantau dan mengoptimumkan indeks untuk memastikan indeks kecil dan cekap. Melalui kaedah ini, kita dapat mengimbangi membaca dan menulis prestasi dan meningkatkan kecekapan pangkalan data.

See all articles

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

Video Face Swap

Video Face Swap

Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Artikel Panas

Nordhold: Sistem Fusion, dijelaskan
3 minggu yang laluBy尊渡假赌尊渡假赌尊渡假赌
Mandragora: Whispers of the Witch Tree - Cara Membuka Kunci Cangkuk Bergelut
3 minggu yang laluBy尊渡假赌尊渡假赌尊渡假赌

Alat panas

EditPlus versi Cina retak

EditPlus versi Cina retak

Saiz kecil, penyerlahan sintaks, tidak menyokong fungsi gesaan kod

PhpStorm versi Mac

PhpStorm versi Mac

Alat pembangunan bersepadu PHP profesional terkini (2018.2.1).

SublimeText3 Linux versi baharu

SublimeText3 Linux versi baharu

SublimeText3 Linux versi terkini

Versi Mac WebStorm

Versi Mac WebStorm

Alat pembangunan JavaScript yang berguna

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

Persekitaran pembangunan bersepadu PHP yang berkuasa