Monday 10 July 2017

ออราเคิล xmltype store เป็น ไบนารี ตัวเลือก


ฉันใช้คอลัมน์ XMLType ในบางตาราง oracle ฐานข้อมูลของฉัน ก่อนหน้านี้ (ใน 11.2.0.2) ประเภทการจัดเก็บข้อมูลดีฟอลต์ที่พิจารณาคือ CLOB ดังนั้นหากคุณพิมพ์ข้อความค้นหาสำหรับคอลัมน์ XMLType ฉันจะเห็นเนื้อหาของคอลัมน์เป็นสตริง XML แต่เมื่อฉันวางและสร้างตารางใหม่ทั้งหมดและแทรกข้อมูลบางส่วนฉันไม่สามารถรับเนื้อหาของคอลัมน์ XMLType ได้ มัน simpley แสดง XMLType ใน cloumn ค่า ฉันสงสัยว่าประเภทการจัดเก็บข้อมูลถูกแทรกลงใน BINARY XML ดังนั้นฉันจึงออกคำสั่ง alter ต่อไปนี้: โปรดทราบว่ามีข้อมูลอยู่ในตารางอยู่แล้ว เหตุการณ์หลังจากที่ฉันลบและแทรกแถวเนื้อหาจะแสดงเป็น XMLType ฉันใช้เครื่องมือ UI สำหรับนักพัฒนาซอฟต์แวร์ ใครสามารถแนะนำวิธีการแก้ไขปัญหานี้ได้ตกลงตอนนี้เราตัดสินใจว่าเราจะจัดเก็บเนื้อหาคอลัมน์ XMLType เป็น SECURE FILE BINARY XML ดังนั้นเราจึงมีตารางดังนี้: XMLType colum จะแสดงเป็น SYS. XMLType ใน sql developer ดังนั้นวิธีการได้รับเนื้อหาของไบนารี XML SELECT x. ID, x. Vid, x. details. getCLOBVal () จาก XMYTYPETESTx ที่ x. ID100000 แบบสอบถามข้างต้นทำงานให้ฉันในที่สุดเอกสาร Oracle อ้างว่าเก็บ XMLType เพิ่มเติม มีขนาดกะทัดรัดเป็น BINARY XML มากกว่า CLOB แต่ฉันจะหาจำนวนเนื้อที่ที่ถ่ายโดยไบนารี xml ดังนั้น vsize น่าจะเป็นขนาดของตัวชี้หรือ LOB locator บางส่วนและ getclobval จะเรียกคืนไบนารี XML ลงในข้อความ แต่สิ่งที่เกี่ยวกับขนาดการเก็บรักษาของ XML ไบนารีตัวเองช่วยกรุณาขนาดตารางเป็น 340GB ดังนั้นมูลค่ามองหาในตัวเลือกการจัดเก็บ ถาม 15 ก. ค. 14 ที่ 17:41 ดีส่วนหนึ่งไม่มีอะไรจะทำอย่างไรกับแถวดังกล่าว ส่วนคือทั้งตารางพาร์ติชันตารางดัชนี LOB สิ่งที่สำคัญคือการจัดเก็บมากกว่า 4k ภายในนั้นเพื่อให้ lob ของคุณจะถูกเก็บไว้ linequot quotin ซึ่งหมายความว่าภายในบล็อกฐานข้อมูลจริงของแถวเอง แต่จะถูกเก็บไว้ในส่วน quoted lineover LOB ndash gvenzl 22 ก. ค. 14 เวลา 13.00 น. ตัวแทนไม่อนุญาตให้โพสต์ความคิดเห็นที่คุณต้องการพูดระหว่างคำถามที่ฉันเข้าใจ ความคล้ายคลึงกันเพียงอย่างเดียวคือปัญหาพื้นที่จัดเก็บคิดว่าอาจเป็นประโยชน์สำหรับการประมาณการเดา คุณไม่ได้กล่าวถึงประเภทของข้อมูลที่คุณจะจัดเก็บเป็น bXML แกะ XML ไบนารีลงในข้อความถ้า XML บริสุทธิ์ขึ้นอยู่กับว่าคุณใช้คอมเพรสเซอร์ใด มักใช้ lzmagzip สำหรับการบีบอัดแบบไบนารี บางทีผมเขียนเกี่ยวกับสิ่งที่เห็นได้ชัดเกินไป แต่ thats ทั้งหมดที่ฉัน knowBinary XML การจัดเก็บข้อมูลใน 11g Oracle 11g คุณสมบัติใหม่เคล็ดลับในรุ่นก่อนหน้าของ Oracle, สอง Extensible Markup Language (XML) ตัวเลือกที่เก็บที่มีอยู่: ไม่มีโครงสร้างหรือ CLOB และการจัดเก็บและ โครงสร้างหรือแบบแผน ใน Oracle 11g มีการเพิ่ม XML ไบนารีเป็นตัวเลือกการจัดเก็บข้อมูลใหม่ ที่จัดโครงสร้างแบบไม่มีโครงสร้างจะถือว่าเอกสาร XML เป็นอ็อบเจ็กต์ขนาดใหญ่และเก็บไฟล์ไว้ในฐานข้อมูลโดยที่ไม่ได้รับรู้ถึงเนื้อหา ตัวเลือกนี้มีประสิทธิภาพการแทรกและการลบที่ดีที่สุด แต่เป็นการเข้าถึงและใช้พื้นที่ดิสก์ที่แย่ที่สุด การจัดเก็บแบบโครงสร้างต้องลงทะเบียนล่วงหน้าของสคีมา XML และแทรกเอกสาร XML ลงในโครงสร้างเชิงวัตถุ ตัวเลือกพื้นที่เก็บข้อมูลนี้มีประสิทธิภาพการค้นหาและการใช้เนื้อที่ดิสก์ที่ดีที่สุด แต่มีค่าใช้จ่ายสูงสุดในระหว่างการใส่เริ่มต้น ค่าใช้จ่ายสูงนี้เกิดขึ้นเนื่องจากระหว่างการแทรกเอกสารถูกหั่นและเก็บไว้ในอ็อบเจ็กต์ฐานข้อมูลที่สร้างขึ้นในระหว่างการลงทะเบียนสคีมา XML ไบนารี XML ซึ่งเป็นตัวเลือกการจัดเก็บใหม่ที่นำเสนอในรูปแบบ 11g จัดเก็บเอกสารไว้ในรูปแบบไบนารีที่ทำการโพสต์แยกวิเคราะห์ซึ่งออกแบบมาเฉพาะสำหรับ XML ตัวเลือกนี้อาจเป็นตัวเลือกที่ดีที่สุดสำหรับข้อกำหนด XML ส่วนใหญ่ ที่เก็บข้อมูลไบนารีเพิ่มเติมมีประสิทธิภาพในการแทรกซึมเทียบเท่ากับการจัดเก็บแบบไม่มีโครงสร้าง แต่ยังมีประสิทธิภาพแบบสอบถามและเนื้อที่ดิสก์ที่สามารถเทียบเคียงได้กับที่จัดเก็บแบบโครงสร้าง ข้อดีของ XML แบบไบนารีไม่ขึ้นอยู่กับการลงทะเบียนสคีมา นี่เป็นเพราะตัวเลือกในการลงทะเบียนสคีมา XML แบบไบนารีเพื่อใช้ตาราง XML แบบไบนารีตามสคีมา อย่างไรก็ตามข้อ จำกัด หนึ่งที่ยังคงอยู่คือสคีมา XML ที่ลงทะเบียนไม่สามารถแชร์ระหว่าง XML แบบไบนารีและอ็อบเจ็กต์ตารางเชิงสัมพันธ์ได้ กลยุทธ์ที่ดีที่สุดในการเลือกวิธีจัดการเนื้อหา XML คือการลองใช้ตัวเลือกการเก็บข้อมูลไบนารีก่อนและประเมินว่าประสิทธิภาพเป็นที่ยอมรับได้หรือไม่ หากไม่สามารถยอมรับประสิทธิภาพการเข้าถึงเชิงสัมพันธ์ได้ลองใช้ตัวเลือกจัดเก็บข้อมูลแบบมีโครงสร้าง สาเหตุที่ควรใช้ที่จัดเก็บแบบไบนารีคือใช้งานง่ายและต้องบำรุงรักษาอย่างน้อยเนื่องจากไม่ต้องลงทะเบียนสคีมา คอลัมน์ชนิด XML ไบนารีนอกจากนี้ยังง่ายต่อการใช้งานในตารางที่ไม่ใช่ XMLType เนื่องจากประสิทธิภาพไม่ขึ้นอยู่กับการสร้างดัชนี ที่จะใช้จัดเก็บข้อมูลไบนารีตาราง XML ที่จะต้องสร้างขึ้นด้วยไวยากรณ์ต่อไปนี้: SQLgt CREATE BINARYXMLTABLE ตาราง XmlType XmlType เก็บไว้เป็นไบนารี XML 2 พิจารณาเอกสาร XML ต่อไปนี้สำหรับการทำธุรกรรมการสั่งซื้อ: ltxml versionquot1.0quotgt ltordergt ltcustomergt ltnamegtCustomer ABCltnamegt ltccNumgt1234123412341234ltccNumgt ltcustomergt ltorderLinesgt ltitemgt ltitemidgt108ltitemidgt ltitemnamegtORACLE 11G ใหม่คุณสมบัติในสมุด ED1.0ltitemnamegt ltquantitygt1ltquantitygt ltunitPricegt38.00ltunitPricegt ltitemgt ltitemgt ltitemidgt109ltitemidgt ltitemnamegtORACLE คู่มือการปรับแต่ง ED1.0ltitemnamegt ltquantitygt1ltquantitygt ltunitPricegt22.00ltunitPricegt ltitemgt ltorderLinesgt ltreceiptgt ltsubtotalgt60.00ltsubtotalgt ltsalesTaxgt4.80ltsalesTaxgt lttotalgt64.80lttotalgt ltreceiptgt ltordergt ใส่เอกสารนี้ลงในตาราง XML ไบนารีใช้ต่อไปนี้ ไวยากรณ์: แทรก SQLgt เป็นค่า BINARYXMLTABLE (XMLTYPE (BFILENAME (XMLDIR, testdocument. xml), nlscharsetid (AL32UTF8))) เอกสารสามารถเข้าถึงได้ทันทีสำหรับการเข้าถึงเชิงสัมพันธ์ SELECT extractValue (ค่า (ข), ordercustomername) CustomerName, extractValue (ค่า (d) itemitemid) Itemid, extractValue (ค่า (d) itemquantity) ปริมาณ extractValue (ค่า (d) itemunitPrice) UnitPrice, extractValue (ค่า (ข ) orderreceiptsubtotal) ผลรวมย่อย, extractValue)) ขโต๊ะ (ค่า (ข), orderreceiptsalesTax) salesTax, extractValue (orderreceipttotal) ทั้งหมดจาก BINARYXMLTABLE โต๊ะ (XMLSequence (Extract (สาร objectvalue, สั่งซื้อสินค้ามูลค่า (ข)) (XMLSequence (สารสกัดจาก (ค่า (ข), orderorderLines))) C, ตาราง (XMLSequence (Extract (ค่า (ค) orderLinesitem))) d CUSTOMERNAME itemid ปริมาณ UNITPRICE SUBTOTAL SALESTAX ทั้งสิ้น -------------- - ------ -------- ---------- -------- -------- ------ ลูกค้า ABC 108 1 38.00 60.00 4.80 64.80 ลูกค้า ABC 109 1 22.00 60.00 4.80 64.80 ดังที่แสดงไว้ข้างต้นไวยากรณ์สำหรับการเข้าถึงฐานข้อมูล XML ตารางไบนารีไม่เปลี่ยนจากตัวเลือกการจัดเก็บข้อมูลอื่น ๆ นี่เป็นข้อความที่ตัดตอนมาจากหนังสือเล่มใหม่ Oracle 11g New Features คู่มือผู้เชี่ยวชาญด้านคุณลักษณะใหม่ที่สำคัญโดย John Garmany, Steve Karam, Lutz Hartmann, V. J Jain, Brian Carr คุณสามารถสั่งซื้อได้โดยตรงจากผู้จัดพิมพ์เป็นเวลา 30 นาที Burleson เป็นทีมอเมริกันหมายเหตุ: เอกสาร Oracle นี้ถูกสร้างขึ้นเพื่อสนับสนุนการอ้างอิง Oracle Training สำหรับการใช้งานโดยผู้เชี่ยวชาญด้านการให้คำปรึกษาการปรับแต่งประสิทธิภาพ DBA ของเรา รู้สึกอิสระที่จะถามคำถามในฟอรัม Oracle ของเรา ตรวจสอบประสบการณ์ทุกคนที่กำลังพิจารณาใช้บริการของผู้เชี่ยวชาญด้านการสนับสนุนของ Oracle ควรตรวจสอบข้อมูลรับรองและประสบการณ์ของตนเองอย่างอิสระและไม่ต้องพึ่งพาโฆษณาและความเชี่ยวชาญที่ประกาศตัวเอง ผู้เชี่ยวชาญด้าน Oracle ที่ถูกต้องทั้งหมดเผยแพร่คุณสมบัติ Oracle ของตน เทคโนโลยี Errata Oracle มีการเปลี่ยนแปลงและเราพยายามปรับปรุงข้อมูลสนับสนุน BC Oracle ของเรา หากคุณพบข้อผิดพลาดหรือมีข้อเสนอแนะในการปรับปรุงเนื้อหาเราจะขอขอบคุณสำหรับความคิดเห็นของคุณ เพียง e-mail: และใส่ URL สำหรับเพจ Oracle ของฐานข้อมูลสนับสนุนสำเนาลิขสิทธิ์ 1996 - 2016 สงวนลิขสิทธิ์โดย Burleson Oracle reg เป็นเครื่องหมายการค้าจดทะเบียนของ Oracle Corporation

No comments:

Post a Comment