2010-11-02 13 views
5

क्या किसी को पता है कि क्या कोई ऐसा तरीका है जो कोई HSQLDB में किसी मौजूदा तालिका के मोड को बदल सकता है? डिफ़ॉल्ट रूप से, वे सभी स्मृति मोड में हैं, लेकिन उस समय तक, कुछ बहुत बड़े हो गए और इस प्रकार वे मेरी सभी (रैम) मेमोरी खाते हैं। मैं उन्हें "कैश्ड" मोड में रूपांतरित करना चाहता हूं, लेकिन मुझे कोई समाधान नहीं मिला। हालांकि, यह बहुत महत्वपूर्ण है कि कोई मौजूदा डेटा न खोएं।एचएसक्यूएलडीबी - तालिका मोड बदलना

धन्यवाद,

उत्तर

4

संस्करण 2.0 उपयोग में:

सेट तालिका mytable प्रकार कैश्ड

पहले के संस्करणों में: शटडाउन डेटाबेस, .script फ़ाइल को संपादित और बदल "टेबल mytable बनाएँ। .. "या" मेमरी टेबल मिस्बल बनाएं ... "को" टेबल टेबल मैटेबल बनाएं "को फिर से सहेजें। जब डेटाबेस खोला जाता है तो यह तालिका प्रकार बदल देगा। परिवर्तन को अंतिम रूप देने के लिए आपको डेटाबेस को बंद करना चाहिए।

+0

धन्यवाद! जैसा कि मेरे पास संस्करण 1.7.2 है, उनमें से कोई भी तरीका काम नहीं करता है। मैं अब एक डीबी अपग्रेड पर विचार कर रहा हूं। – Beethoven

0

कैश की गई तालिकाओं के साथ बनाया जाता टेबल आदेश कैश्ड पैदा करते हैं। उनके डेटा या इंडेक्स का केवल भाग मेमोरी में आयोजित किया जाता है, जिससे बड़ी तालिकाएं अन्यथा मेमोबाइट मेमोरी तक ले जाती हैं। कैश किए गए तालिकाओं का एक और लाभ यह है कि डेटाबेस इंजन पर कम समय लेता है जब कैश की गई तालिका का उपयोग बड़ी मात्रा में डेटा के लिए किया जाता है। कैश किए गए तालिकाओं का नुकसान गति में कमी है। यदि आपका डेटा सेट अपेक्षाकृत छोटा है तो कैश्ड तालिकाओं का उपयोग न करें। कुछ छोटी तालिकाओं और कुछ बड़े लोगों के साथ एक एप्लिकेशन में, छोटी तालिकाओं के लिए डिफ़ॉल्ट, स्मृति मोड का उपयोग करने के लिए बेहतर है।

http://hsqldb.org/doc/guide/guide.html

+0

मुझे पता है कि। मैं पूछ रहा था कि मौजूदा मोड को हटाने और एक नया निर्माण करने के लिए इस मोड को कैसे बदल सकता है। मेरा मतलब है, किसी प्रकार की "तालिका बदलें" और मोड को बदलें। – Beethoven

संबंधित मुद्दे