Oracle
 sql >> डेटाबेस >  >> RDS >> Oracle

ओरेकल में सूचकांक निर्माण समय का अनुमान लगाना

Oracle EXPLAIN PLAN . के साथ अनुक्रमणिका निर्माण समय और अनुक्रमणिका आकार का अनुमान लगा सकता है आदेश:

नमूना स्कीमा

--Create a table with 1 million rows.
drop table table1;
create table table1(a number);
insert into table1 select level from dual connect by level <= 1000000;
--Gather statistics.
begin
    dbms_stats.gather_table_stats(user, 'table1');
end;
/
--Estimate index creation and size.
explain plan for create index table1_idx on table1(a);
select * from table(dbms_xplan.display);

परिणाम

Plan hash value: 290895522

-------------------------------------------------------------------------------------
| Id  | Operation              | Name       | Rows  | Bytes | Cost (%CPU)| Time     |
-------------------------------------------------------------------------------------
|   0 | CREATE INDEX STATEMENT |            |  1000K|  4882K|   683   (2)| 00:00:10 |
|   1 |  INDEX BUILD NON UNIQUE| TABLE1_IDX |       |       |            |          |
|   2 |   SORT CREATE INDEX    |            |  1000K|  4882K|            |          |
|   3 |    TABLE ACCESS FULL   | TABLE1     |  1000K|  4882K|   254   (5)| 00:00:04 |
-------------------------------------------------------------------------------------

Note
-----
   - automatic DOP: skipped because of IO calibrate statistics are missing
   - estimated index size: 24M bytes

नोट

10 सेकंड के अनुमान की तुलना में मेरे सिस्टम पर वास्तविक निर्माण समय 2.5 सेकंड था। लेकिन यह अभी भी काफी अच्छा है यदि आप केवल परिमाण अनुमान के क्रम की तलाश में हैं। सटीकता सटीक तालिका आँकड़ों के साथ-साथ अच्छे होने पर निर्भर करती है सिस्टम आँकड़े . (लेकिन सिस्टम आंकड़े एकत्र करने से पहले सावधान रहें, यह बहुत सारी निष्पादन योजनाओं को प्रभावित कर सकता है!) आप मैन्युअल रूप से sys.aux_stats$ को संशोधित करके सेटिंग्स के साथ और अधिक परेशान कर सकते हैं। . यह कुछ SYS तालिकाओं में से एक है जिसे संशोधित करना ठीक है, हालाँकि आपको अभी भी सावधान रहने की आवश्यकता है।



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Oracle ODBC में NUMBER(15) कॉलम के साथ उपयोग करने के लिए मुझे क्वेरी पैरामीटर के रूप में किस डेटाटाइप को बांधना चाहिए?

  2. जाने में Oracle से कैसे जुड़ें

  3. एक ही टेबल पर ट्रिगर डालने के बाद अपडेट करें

  4. लूप के लिए उपयोग करके .csv फ़ाइल में स्पूल करें

  5. Oracle Enterprise Manager का काम है हंग