Search icon CANCEL
Subscription
0
Cart icon
Your Cart (0 item)
Close icon
You have no products in your basket yet
Arrow left icon
Explore Products
Best Sellers
New Releases
Books
Videos
Audiobooks
Learning Hub
Conferences
Free Learning
Arrow right icon
Arrow up icon
GO TO TOP
Oracle Database 11gR2 Performance Tuning Cookbook

You're reading from   Oracle Database 11gR2 Performance Tuning Cookbook Shifting your Oracle Database into top gear takes a lot of know-how and fine-tuning ability. The 80+ recipes in this Cookbook will give you those skills along with the ability to troubleshoot if things starts running slowly.

Arrow left icon
Product type Paperback
Published in Jan 2012
Publisher Packt
ISBN-13 9781849682602
Length 542 pages
Edition 1st Edition
Languages
Arrow right icon
Author (1):
Arrow left icon
Ciro Fiorillo Ciro Fiorillo
Author Profile Icon Ciro Fiorillo
Ciro Fiorillo
Arrow right icon
View More author details
Toc

Table of Contents (21) Chapters Close

Oracle Database 11gR2 Performance Tuning Cookbook
Credits
About the Author
Acknowledgement
About the Reviewers
www.PacktPub.com
Preface
1. Starting with Performance Tuning FREE CHAPTER 2. Optimizing Application Design 3. Optimizing Storage Structures 4. Optimizing SQL Code 5. Optimizing Sort Operations 6. Optimizing PL/SQL Code 7. Improving the Oracle Optimizer 8. Other Optimizations 9. Tuning Memory 10. Tuning I/O 11. Tuning Contention Dynamic Performance Views A Summary of Oracle Packages Used for Performance Tuning Index

Using reverse key indexes


In this recipe, we will introduce reverse key indexes. We will look at when to use them and how they are related to performance.

How to do it...

The following steps will demonstrate reverse keys:

  1. Connect to SQL*Plus as user SH:

    CONNECT sh@TESTDB/sh
    
  2. Create a simple table:

    CREATE TABLE REVERSE_TEST (
      ID NUMBER NOT NULL,
      NAME VARCHAR(100)
    );
    
  3. Create a sequence to generate the IDs for the table:

    CREATE SEQUENCE REV_SEQ
      START WITH 1 INCREMENT BY 1 CACHE 1000;
    
  4. Create the trigger to insert sequence-generate values:

    CREATE OR REPLACE TRIGGER TR_REVERSE_TEST_INS
      BEFORE INSERT ON REVERSE_TEST FOR EACH ROW
      WHEN (NEW.ID IS NULL)
    BEGIN
      SELECT REV_SEQ.NEXTVAL INTO :NEW.ID FROM DUAL;
    END;
    
  5. Create a UNIQUE INDEX on ID:

    CREATE UNIQUE INDEX PK_REVERSE_TEST ON REVERSE_TEST(ID);
    
  6. Populate the table:

    INSERT INTO REVERSE_TEST (NAME)
      SELECT CUST_LAST_NAME || CUST_FIRST_NAME FROM CUSTOMERS;
    COMMIT;
    
  7. Analyze the index:

    ANALYZE INDEX PK_REVERSE_TEST VALIDATE STRUCTURE;
    
  8. Query the...

lock icon The rest of the chapter is locked
Register for a free Packt account to unlock a world of extra content!
A free Packt account unlocks extra newsletters, articles, discounted offers, and much more. Start advancing your knowledge today.
Unlock this book and the full library FREE for 7 days
Get unlimited access to 7000+ expert-authored eBooks and videos courses covering every tech area you can think of
Renews at $19.99/month. Cancel anytime
Banner background image