Jadual Sementara Oracle: Melihat lebih dekat pada storan data sementara
Dalam bidang pengurusan pangkalan data hubungan, mencipta jadual sementara adalah keperluan biasa dalam pelbagai senario pemprosesan data. Dalam Microsoft SQL Server, sintaks untuk mencipta jadual sementara menggunakan pernyataan DECLARE agak mudah. Walau bagaimanapun, dalam pangkalan data Oracle, pendekatannya berbeza dan memerlukan penerokaan lanjut.
Oracle menyediakan dua jenis jadual sementara: jadual sementara global dan jadual sementara peribadi. Jadual sementara global diwakili oleh kata kunci GLOBAL TEMP dalam penyata penciptaannya dan boleh dilihat serta boleh diakses merentas berbilang sesi pengguna. Sebaliknya, jadual sementara peribadi yang diperkenalkan dalam Oracle 18c adalah eksklusif untuk sesi penciptaan dan sering digunakan untuk pengoptimuman prestasi.
Buat jadual sementara global
Untuk mencipta jadual sementara global dalam Oracle, gunakan sintaks berikut:
<code class="language-sql">CREATE GLOBAL TEMPORARY TABLE 表名 (列定义) ON COMMIT [DELETE ROWS | PRESERVE ROWS]</code>
Secara lalai, data dalam jadual sementara global dipadamkan apabila transaksi dilakukan. Walau bagaimanapun, klausa ON COMMIT membenarkan anda untuk menentukan tingkah laku yang diingini:
Pertimbangkan contoh berikut:
<code class="language-sql">CREATE GLOBAL TEMPORARY TABLE sales_temp ( order_id NUMBER, quantity NUMBER ) ON COMMIT PRESERVE ROWS;</code>
Buat jadual sementara peribadi
Jadual sementara peribadi, tersedia dalam Oracle 18c dan lebih baharu, memberikan prestasi yang dipertingkatkan dengan menyimpan data dalam ingatan dalam sesi penciptaan. Ia dicipta menggunakan sintaks berikut:
<code class="language-sql">CREATE PRIVATE TEMPORARY TABLE 表名 (列定义)</code>
Berikut ialah contoh:
<code class="language-sql">CREATE PRIVATE TEMPORARY TABLE order_temp AS SELECT order_id, product_id, quantity FROM orders WHERE order_date = '2023-08-22';</code>
Nota dan Alternatif
Walaupun jadual sementara boleh bernilai dalam situasi tertentu, ia mesti digunakan dengan berhati-hati. Penciptaan dan pemadaman jadual sementara yang kerap boleh menyebabkan overhed prestasi kepada pangkalan data.
Alternatif kepada jadual sementara ialah menggunakan paparan sebaris (CTE), yang membolehkan anda membuat set hasil sementara dalam satu pernyataan SQL. Pendekatan ini berpotensi meningkatkan prestasi dan mengurangkan keperluan untuk penciptaan jadual sementara yang berasingan.
Atas ialah kandungan terperinci Bagaimanakah Jadual Sementara Global dan Persendirian Berbeza dalam Pengurusan Pangkalan Data Oracle?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!