जहाँ तक मुझे पता है (this page) ओरेकल स्वचालित रूप से प्रत्येक अद्वितीय या प्राथमिक कुंजी घोषणा के लिए एक सूचकांक बनाता है। क्या यह ओरेकल में इंडेक्स स्वचालित रूप से बनाए जाने पर मामलों की एक पूरी सूची है?ओरेकल स्वचालित रूप से इंडेक्स कैसे बनाएगा?
उत्तर
मैं दिए गए उत्तरों को मजबूत करने और इसे समुदाय विकी बनाने की कोशिश करूंगा।
तो अनुक्रमित स्वचालित रूप से इस तरह के मामलों के लिए Oracle द्वारा बनाई गई हैं:
- APC: प्राथमिक कुंजी और अद्वितीय कुंजी जब तक इस तरह अनुक्रमित पहले से ही मौजूद है।
- APC: LOB स्टोरेज और XMLType के लिए।
- Gary: घोंसला वाली तालिका वाली तालिका के लिए।
- Jim Hudson: भौतिक दृश्य के लिए।
हां, यह पूरी सूची है। ओरेकल स्वचालित रूप से प्रत्येक अद्वितीय या प्राथमिक कुंजी घोषणा के लिए एक सूचकांक बनाता है।
[स्वीकृत उत्तर] (http://stackoverflow.com/a/2192193/521799) के अनुसार यह पूरी सूची नहीं है ... –
सबसे पहले, जब हम प्राथमिक या अद्वितीय कुंजी बनाते हैं तो ओरेकल हमेशा एक इंडेक्स नहीं बनाता है। यदि पहले से ही उस स्तंभ पर एक सूचकांक है यह इसके बजाय का उपयोग करेगा ...
SQL> create table t23 (id number not null)
2/
Table created.
SQL> create index my_manual_idx on t23 (id)
2/
Index created.
SQL> select index_name from user_indexes
2 where table_name = 'T23'
3/
INDEX_NAME
------------------------------
MY_MANUAL_IDX
SQL>
... ध्यान दें कि MY_MANUAL_IDX
एक अद्वितीय सूचकांक नहीं है; यह कोई बात नहीं ...
SQL> alter table t23
2 add constraint t23_pk primary key (id) using index
3/
Table altered.
SQL> select index_name from user_indexes
2 where table_name = 'T23'
3/
INDEX_NAME
------------------------------
MY_MANUAL_IDX
SQL> drop index my_manual_idx
2/
drop index my_manual_idx
*
ERROR at line 1:
ORA-02429: cannot drop index used for enforcement of unique/primary key
SQL>
एक और मामला है जब ओरेकल स्वचालित रूप से एक सूचकांक बनाएगा है: LOB भंडारण ....
SQL> alter table t23
2 add txt clob
3 lob (txt) store as basicfile t23_txt (tablespace users)
4/
Table altered.
SQL> select index_name from user_indexes
2 where table_name = 'T23'
3/
INDEX_NAME
------------------------------
MY_MANUAL_IDX
SYS_IL0000556081C00002$$
SQL>
संपादित
डेटाबेस व्यवहार करता है XMLType अन्य LOBs के समान ही ...
SQL> alter table t23
2 add xmldoc xmltype
3/
Table altered.
SQL> select index_name from user_indexes
2 where table_name = 'T23'
3/
INDEX_NAME
------------------------------
MY_MANUAL_IDX
SYS_IL0000556081C00002$$
SYS_IL0000556081C00004$$
SQL>
मैंने कुछ वर्षों तक ओरेकल नहीं किया है, लेकिन मुझे लगता है याद करने के लिए कि ओरेकल एक समग्र सूचकांक का उपयोग कर सकता है, यदि फ़ील्ड अद्वितीय (या प्राथमिक कुंजी?) पर सेट किया गया पहला क्षेत्र था। मैं गलत याद कर सकता हूं, या यह 8i लाइन के बाद बदल सकता है, इसलिए अगर यह उपयोगी होगा तो मैं इसका परीक्षण करने का सुझाव दूंगा। (एक अतिरिक्त इंडेक्स रखने और लिखने में हिट लेने से बचाने के लिए) – Joe
एक उदाहरण समझने के लिए हमेशा महान होता है। – Guru
@ जो - हाँ, आपकी यादें सही हैं। – APC
नहीं, हम हैं करीब आना लेकिन यह अभी तक पूरी सूची नहीं है।
जब आप भौतिक दृश्य बनाते हैं तो स्वचालित रूप से एक इंडेक्स भी बनाया जाएगा क्योंकि ओरेकल को तेजी से रीफ्रेश करते समय पंक्तियों की तुरंत पहचान करने में सक्षम होना चाहिए। पंक्तिबद्ध आधारित भौतिक विचारों के लिए, यह I_SNAP $ _tablename का उपयोग करता है। प्राथमिक कुंजी भौतिक विचारों के लिए, यह मूल पीके नाम का उपयोग करता है, इसे अद्वितीय बनाने के लिए आवश्यक के रूप में संशोधित किया जाता है।
create materialized view testmv
refresh force with rowid
as select * from dual;
select index_name from user_indexes where table_name = 'TESTMV';
Index Name
--------------
I_SNAP$_TESTMV
और दूसरा, यदि आप नेस्टेड टेबल के साथ एक टेबल बनाते हैं तो आपको स्वचालित रूप से एक अनुक्रमणिका मिलती है। ऑब्जेक्ट आधारित स्टोरेज सामान्य रूप से ऐसा कर सकता है क्योंकि बनाई गई छिपी हुई टेबल हो सकती हैं।
मुझे लगता है कि स्कीमा-आधारित XMLTypes भी ऐसा करेंगे।
- 1. शॉर्टकट स्वचालित रूप से
- 2. ग्रहण - कैसे स्वचालित रूप से
- 3. कैसे स्वचालित रूप से mathematica
- 4. कैसे स्वचालित रूप से vim
- 5. कैसे स्वचालित रूप से सरणी
- 6. स्वचालित रूप से डाउनलोड
- 7. स्वचालित रूप से Minecraft
- 8. ओरेकल टेक्स्ट इंडेक्स को सिंक और अनुकूलित कैसे करें?
- 9. स्वचालित रूप से
- 10. स्वचालित रूप से pathforResource
- 11. स्वचालित रूप से
- 12. स्वचालित रूप से JTable
- 13. स्वचालित रूप से VisualVM
- 14. स्वचालित रूप से व्यवस्थापक
- 15. स्वचालित रूप से जावा
- 16. स्वचालित रूप से संग्रह
- 17. स्वचालित रूप से RSpec
- 18. WebClient स्वचालित रूप से
- 19. स्वचालित रूप से MongoDB
- 20. स्वचालित रूप से
- 21. NH12ern85 स्वचालित रूप से
- 22. स्वचालित रूप से vim
- 23. स्क्रिप्ट स्वचालित रूप से
- 24. वर्डप्रेस - स्वचालित रूप से पेज
- 25. कैसे स्वचालित रूप से साझा पुस्तकालय
- 26. स्वचालित रूप से अनुपलब्ध फ़ोल्डर कैसे बनाएं?
- 27. स्वचालित रूप से विरोधाभासी NSFileVersions
- 28. मैं स्वचालित रूप से MySQL डीडीएल को ओरेकल डीडीएल में कैसे परिवर्तित कर सकता हूं?
- 29. स्वचालित रूप से संस्करण संख्या
- 30. स्वचालित रूप से बेस व्यू
"LOB स्टोरेज" केस शायद अन्य जटिल डेटाटाइप के लिए इंडेक्स में भी परिणाम देता है। हालांकि मैंने इसका परीक्षण नहीं किया है। मैं उम्मीद करता हूं कि ओरेकल स्पेटियल, ओरेकल टेक्स्ट इत्यादि द्वारा इंडेक्स बनने की उम्मीद है। –
यह समुदाय विकी है। अगर आप कुछ भी जोड़ना चाहते हैं, तो आप बस इस जवाब को संपादित कर सकते हैं। –