Monday 7 August 2017

Pilihan Xmltype Store As Binary Oracle Xmltype


Saya menggunakan kolom XMLType di beberapa tabel database oracle saya. Sebelumnya (dalam 11.2.0.2) jenis penyimpanan default yang dipertimbangkan adalah CLOB. Jadi, jika Anda mengeluarkan kueri untuk kolom XMLType, saya dapat melihat konten kolom sebagai string XML. Tapi saat saya drop dan membuat ulang semua tabel dan memasukkan beberapa data, saya tidak bisa mendapatkan konten kolom XMLType. Ini simpley menampilkan XMLType dalam nilai cloumn. Saya ragu bahwa apakah tipe penyimpanan dikelompokkan dalam BINARY XML Jadi, saya akan mengeluarkan pernyataan perubahan berikut: Harap dicatat bahwa sudah ada beberapa data yang ada dalam tabel. Acara setelah saya menghapus dan menyisipkan baris, konten ditampilkan sebagai XMLType. Saya menggunakan alat pengembang UI UI. Ada yang bisa menyarankan cara untuk memperbaiki masalah ini Ok, Sekarang kami telah memutuskan bahwa kami akan menyimpan konten kolom XMLType sebagai SECURE FILE BINARY XML. Jadi kita memiliki tabel seperti ini: The XMLType colum ditampilkan sebagai SYS. XMLType di sql developer. Jadi bagaimana cara mendapatkan konten dari biner XML SELECT x. ID, x. Vid, x. details. getCLOBVal () FROM XMYTYPETESTx dimana x. ID100000 Permintaan di atas berhasil untuk saya akhirnya. Dokumentasi Oracle mengklaim bahwa ia menyimpan XMLType lebih banyak. Kompak seperti BINARY XML daripada CLOB. Tapi bagaimana cara mengetahui berapa banyak ruang yang diambil oleh xml biner Jadi, ukuran seperti ukuran pointer atau locator LOB, dan getclobval membongkar XML biner menjadi teks. Tapi bagaimana dengan ukuran penyimpanan dari biner XML itu sendiri Tolong bantu, ukuran tabelnya 340GB, jadi layak dicari pilihan penyimpanannya. Tanya 15 Jul 14 jam 17:41 Nah, segmen tidak ada hubungannya dengan deretan seperti itu. Segmen adalah tabel, partisi tabel, indeks, LOB. Yang penting adalah menyimpan lebih dari 4k di dalamnya, sehingga lob Anda bisa disimpan dalam lineup kuotil yang berarti di dalam blok database sebenarnya dari baris itu sendiri namun disimpan di segmen kuotot liniquot kueri. Ndash gvenzl 22 Jul 14 at 13:00 edisi rep, tidak diperbolehkan untuk mengirim komentar yang ingin Anda katakan di antara pertanyaan yang saya mengerti. Satu-satunya kesamaan adalah masalah ruang penyimpanan, diperkirakan akan sangat membantu perkiraan perkiraan. Anda tidak menyebutkan jenis data yang akan Anda simpan sebagai bXML. Membongkar XML biner menjadi teks Jika XML murni maka itu tergantung pada kompresor apa yang akan Anda gunakan. Biasanya lzmagzip digunakan untuk kompresi biner. Mungkin saya menulis tentang hal-hal yang terlalu jelas, tapi itulah yang saya ketahui. Pilihan untuk Proses Lambat Parsing XML Besar - Bagian 3 Bagian terakhir dari bab ini. Dalam posting saya sebelumnya Pilihan untuk Kinerja Lambat Parsing Large XML - Bagian 2. Saya menunjukkan bagaimana mendaftarkan skema dan memiliki proses itu membuat tabel dapat digunakan untuk meningkatkan kecepatan parsing XML dibandingkan dengan parsing XML melalui PLSQL. Sekarang saya akan melihat apakah menggunakan tabel tanpa skema yang terkait akan membuat perbedaan pada kecepatan parsinginserting. Saya kembali menggunakan blok kode berikut untuk menjalankan tes saya Satu-satunya perbedaan yang saya ubah adalah pernyataan CREATE TABLE untuk LOADTEMPRESULT. Tabel berikut merangkum berbagai pernyataan CREATE TABLE yang saya gunakan dan waktu yang dihasilkan, di mana TEMP TIME adalah output untuk INSERT INTO TEMP TIME dalam detik: dan TIME adalah output untuk INSERT INTO TIME in sec: CREATE TABLE loadtempresult dari XMLTYPE CREATE TABLE loadtempspult XMLTYPE XMLTYPE STORE SEBAGAI BASICFILE CLOB CREATE TABLE loadtempresult XMLTYPE XMLTYPE STORE SEBAGAI SECUREFILE CLOB CREATE TABLE loadtempresult XMLTYPE XMLTYPE STORE SEBAGAI BASICFILE BINARY XML CREATE TABLE loadtempresult XMLTYPE XMLTYPE STORE SEBAGAI BINARY XML BURUNG Seperti yang saya gunakan 11.1.0.6, perilaku default Untuk versi Oracle ini adalah menyimpan XMLTypes sebagai CLOB. Hal ini ditegaskan oleh fakta bahwa baris pertama (penyimpanan default) paling sesuai dengan baris kedua (penyimpanan eksplisit). Berdasarkan hasil, mudah untuk melihat bahwa bahkan membuat tabel XMLType (atau kolom XMLType) di mana XMLType disimpan sebagai XML BINARY layak dilihat dari segi kinerja saat validasi tidak diperlukan. Saya tidak akan membahas sebuah diskusi mengenai perbedaan antara BASICFILE dan SECUREFILE, namun sorotan dari apa yang SECUREFILE tawarkan dapat ditemukan di Fitur LOB yang Diperkenalkan di Oracle Database 11g Release 1. Oracle merekomendasikan agar SECUREFILE digunakan karena saya telah mengambil dari Forum XML DB di OTN. Untuk rekap hasil dari dua thread sebelumnya pada topik ini, Menggunakan XMLTable dalam sebuah pernyataan SQL untuk mengurai variabel PLSQL XMLType memakan waktu 1032 detik (16 menit). Menggunakan PLSQL untuk melompati setiap node dalam XML dan mengurai informasi dan kemudian INSERT ke dalam sebuah tabel memakan waktu 4 detik. Menggunakan skema terdaftar dan tabel terkait butuh 0,5 detik. Untuk kasus uji yang saya gunakan (kira-kira 2100 baris node dalam XML) pada sistem yang saya gunakan (11.1.0.6 di RedHat OS), lakukan registrasi skema yang membuat tabel terkait yang hanya diberi sedikit menggunakan XMLType Biner XML Berbasis tabel 0,87 detik. Ini seharusnya disebabkan oleh informasi tambahan yang diketahui Oracle tentang XML berdasarkan skema. Karena ini juga merupakan versi pertama yang dimiliki XML BINARY, itu bisa sebagian karena kenyataan itu juga. Mungkin jika saya mendapatkan akses ke versi Oracle yang lebih baru, saya dapat menguji teori itu.1 komentar: Ini adalah informasi yang sangat berguna tentang opsi biner, yang akan sangat informatif bagi pedagang yang belum berpengalaman. Saat ini perdagangan opsi biner menjadi sangat populer dan mendapatkan kecepatan yang sangat tinggi dalam ekonomi internasional. Read MoreBinary XML Data Storage di 11g Oracle 11g Fitur Baru Tips Pada versi Oracle sebelumnya, tersedia pilihan penyimpanan Extensible Markup Language (XML): tidak terstruktur, atau CLOB, dan penyimpanan dan terstruktur, atau skema berbasis. Di Oracle 11g, XML biner telah ditambahkan sebagai opsi penyimpanan baru. Penyimpanan tidak terstruktur memperlakukan dokumen XML sebagai objek besar dan menyimpan file di database tanpa mengetahui isinya. Opsi ini memiliki kinerja penyisipan dan penghapusan terbaik, namun akses dan konsumsi ruang disk yang terburuk. Penyimpanan terstruktur memerlukan registrasi skema XML sebelumnya dan memasukkan dokumen XML ke dalam struktur relasi objek. Pilihan penyimpanan ini memiliki kinerja query terbaik dan konsumsi ruang disk, namun biaya tertinggi selama penyisipan awal. Biaya tinggi ini disebabkan karena selama penyisipan, dokumen diparut dan disimpan ke dalam objek database yang dibuat selama pendaftaran skema XML. Binary XML, opsi penyimpanan baru yang diperkenalkan di 11g, menyimpan dokumen dalam format biner pasca-parse yang dirancang khusus untuk XML. Pilihan ini kemungkinan akan menjadi pilihan terbaik untuk sebagian besar persyaratan XML. Penyimpanan biner tambahan menawarkan kinerja penyisipan yang sebanding dengan penyimpanan yang tidak terstruktur, namun kinerja kueri dan ruang disk yang sebanding dengan penyimpanan terstruktur. Tidak seperti penyimpanan terstruktur, manfaat dari XML biner tidak tergantung pada pendaftaran skema. Hal ini disebabkan pilihan untuk mendaftarkan skema XML biner untuk memiliki skema berdasarkan tabel XML biner. Namun, satu batasan tetap ada karena skema XML terdaftar tidak dapat dibagi antara XML biner dan tabel relasional objek. Strategi terbaik saat memilih bagaimana mengelola konten XML adalah dengan pertama-tama mencoba opsi penyimpanan biner dan mengevaluasi apakah kinerja dapat diterima. Jika kinerja akses relasional tidak dapat diterima, maka cobalah opsi penyimpanan terstruktur. Alasan penyimpanan biner lebih disukai adalah mudah digunakan dan membutuhkan perawatan minimal karena registrasi skema tidak diperlukan. Kolom tipe XML biner juga lebih mudah digunakan dalam tabel non-XMLType karena kinerjanya tidak bergantung pada pembuatan indeks. Untuk menggunakan penyimpanan biner, tabel XML harus dibuat dengan sintaks berikut: SQLgt CREATE TABLE BINARYXMLTABLE XMLTYPE STORE SEBAGAI BINARY XML 2 Perhatikan dokumen XML berikut untuk transaksi pesanan: ltxml versionquot1.0quotgt ltcustomergt ltnamegtCustomer ABCltnamegt ltccNumgt1234123412341234ltccNumgt ltcustomergt ltorderLinesgt ltitemgt ltitemidgt108ltitemidgt ltitemnamegtORACLE 11g NEW FITUR BUKU ED1.0ltitemnamegt ltquantitygt1ltquantitygt ltunitPricegt38.00ltunitPricegt ltitemgt ltitemgt ltitemidgt109ltitemidgt ltitemnamegtORACLE TUNING GUIDE ED1.0ltitemnamegt ltquantitygt1ltquantitygt ltunitPricegt22.00ltunitPricegt ltitemgt ltorderLinesgt ltreceiptgt ltsubtotalgt60.00ltsubtotalgt ltsalesTaxgt4.80ltsalesTaxgt lttotalgt64.80lttotalgt ltreceiptgt ltordergt Masukkan dokumen ini ke dalam tabel XML biner menggunakan berikut Sintaks: SQLgt masukkan ke nilai BINARYXMLTABLE (XMLTYPE (BFILENAME (XMLDIR, testdocument. xml), nlscharsetid (AL32UTF8))) Setelah penyisipan, Dokumen tersebut segera tersedia untuk akses relasional. SELECT extractValue (nilai (b), ordercustomername) customername, extractValue (nilai (d), itemitemid) itemid, extractValue (nilai (d), itemquantity) quantity, extractValue (nilai (d), itemunitPrice) unitprice, extractValue (nilai ), OrderVeceiptsubtotal) subtotal, extractValue (nilai (b), orderreceiptsalesTax) salesTax, extractValue (nilai (b), orderreceipttotal) dari BINARYXMLTABLE a, TABLE (XMLSequence (Extract (objectvalue, order))) b, TABLE (XMLSequence (Extract (Nilai (b), orderorderLines))) c, TABLE (XMLSequence (Ekstrak (nilai (c), orderLinesitem))) d CUSTOMERNAME ITEMID QUANTITY UNITPRICE SUBTOTAL SALESTAX TOTAL -------------- - ------ -------- ---------- -------- -------- ------ Pelanggan ABC 108 1 38.00 60.00 4.80 64.80 Pelanggan ABC 109 1 22.00 60.00 4.80 64.80 Seperti yang ditunjukkan di atas, sintaks untuk akses relasional ke tabel XML biner tidak berubah dari pilihan penyimpanan lainnya. Ini adalah kutipan dari buku baru Oracle 11g New Features. Panduan Pakar untuk Fitur Baru Penting oleh John Garmany, Steve Karam, Lutz Hartmann, V. J. Jain, Brian Carr. Anda bisa membelinya langsung dari penerbit selama 30 off. Burleson adalah Catatan Tim Amerika: Dokumentasi Oracle ini dibuat sebagai dukungan dan referensi pelatihan Oracle untuk digunakan oleh profesional konsultasi penyesuaian kinerja DBA kami. Jangan ragu untuk bertanya pada forum Oracle kami. Verifikasi pengalaman Siapa pun yang mempertimbangkan untuk menggunakan layanan pakar dukungan Oracle harus secara independen menyelidiki kredensial dan pengalaman mereka, dan tidak bergantung pada iklan dan memproklamirkan sendiri keahliannya. Semua pakar Oracle yang sah mempublikasikan kualifikasi Oracle mereka. Teknologi Oracle Errata berubah dan kami berusaha untuk memperbarui informasi dukungan Oracle BC kami. Jika Anda menemukan kesalahan atau memiliki saran untuk memperbaiki konten kami, kami akan menghargai masukan Anda. Cukup e-mail: dan sertakan URL untuk halaman tersebut. Oracle dari Database Support Hak Cipta salinan 1996 - 2016 Semua hak dilindungi oleh Burleson Oracle reg adalah merek dagang terdaftar dari Oracle Corporation.

No comments:

Post a Comment