HP 3000 Manuals

ALLBASE/SQL Performance and Monitoring Guidelines MPE/iX 5.0 Documentation


ALLBASE/SQL Performance and Monitoring Guidelines

Table of Contents

 ALLBASE/SQL Performance and Monitoring Guidelines
   ALLBASE/SQL Performance and Monitoring Guidelines : COPYRIGHT NOTICE

   Ch 1.  Basic Concepts in ALLBASE/SQL Performance
      DBEFile Organization
          Page Organization
          Page Table Pages
          Rows of Data on Pages
          Structure of a Page
          Storage of Table Data on DBEFile Pages
             Slot Table
          Indirect Rows
          Hash Storage
          Page Compression
          Storage of Index Data on DBEFile Pages
          How Indexes are Used
          How PCRs are Stored
          Page Splitting
      Data Buffering
      System Catalog
          Directory Caching
      Log File Organization
      Log Buffering
          No-Log Pages
      Locking and Latching
          Locks
          Latches
          Pins
          Sequence of Events in Locking Data
      Sorting
      Optimization
          How Optimization is Done
             Table Size
             Selectivity
             Index Size
             Cluster Count
          Using GENPLAN
          Using SETOPT
      Sections and Validation
          Section Caching
          Validation

   Ch 2.  Guidelines on Logical and Physical Design
      Logical Data Design
          Normalization Issues
             Denormalizing Tables that are Consistently Joined
             Horizontal Partitioning
             Vertical Partitioning
          Including Calculated Data in Tables
          B-Tree Index Design
             Choosing Keys
             Building Indexes on Large Tables
             Maintaining Indexes
          Clustering Indexes
             Using Clustering Indexes
             Monitoring the Cluster Count
             Reclustering a Table
             Using Hash Structures
          Choosing Appropriate Index Types
             Updating Statistics
          Authorization Design
          Using a Duplicate Database
      Physical Data Design
          Creating DBEFileSets
             Avoiding the SYSTEM DBEFileSet for User Data
             Placing Large Tables in Separate DBEFileSets
             Gathering Small Tables into DBEFileSets
          Creating DBEFiles
             Avoiding Extra DBEFile Space
          Creating Tables
             Avoiding NULL and Variable Length Data
             Using INTEGER Rather than SMALLINT Data
          Initial Table Loads
          Unloading Data
          Unloading and Reloading to Remove Indirect Rows
          Unloading and Reloading to Remove Overflow Pages
          Tips on Deletions from Tables

   Ch 3.  Guidelines on Query Design
      Avoiding Serial Scans Through Query Design
          Arithmetic Expressions
          Columns from One Table on Both Sides of the Relational Operator
          Data Conversions
          Predicates with INTEGER = DECIMAL(n,0) Factors
      Using Subqueries
          When Not to Use DISTINCT in Subqueries
      Using UNION
          Avoiding Conversions
          Defining Indexes for UNION Queries
      Using MIN/MAX Functions in Predicates
      Using OR Predicates
          How OR Predicates are Optimized
          Choosing an Index for OR Factors
      Using Predicates with LIKE
      Using Predicates with BETWEEN
      Using Fetch Unique Scans
      Updating Key Columns
      Avoiding User Propagation of Filters
      Using TID Scans
      Using Parallel Serial Scans
      Using the BULK Option
      Analyzing Queries with GENPLAN
      Modifying the Access Optimization Plan with SETOPT

   Ch 4.  Guidelines on Transaction Design
      General Tips on Managing Transactions
          Using Short Transactions and Savepoints
      Controlling Locking
      Using CS, RC, and RU Isolation Levels
      Using Row Level Locking
          Benefits of Row Level Locking
          Shared Memory Considerations
          Page Locking on PUBLICROW Tables
      Using KEEP CURSOR
      Removing Non-Database Processing from Transactions
      Using Procedures and Rules
      Tuning Performance of Dynamic Statements
          Using Dynamic Parameters
          Using Semi-Permanent Sections

   Ch 5.  Guidelines on System Administration
      DBA Guidelines
          Validating Your Applications Before Run Time
          Developing Application Programs
          Balancing System Load
             Placing Concurrently Used Objects on Different Drives
          Calculating Shared Memory Allocation
          Choosing a Number of Data Buffer Pages
             Keeping a Small Group of Pages in Memory
             Basic Example
             First Threshold for Performance Gain
             Second Threshold for Performance Gain
             Cautions
             An Empirical Approach
          Choosing the Size of the Runtime Control Block
          Choosing a Number of Log Buffer Pages
          Choosing the Number and Size of Log Files
             Nonarchive Log Guidelines
             Archive Log Guidelines
          Sorting Operations
             Creating Temporary Spaces
             Tips for Using Temporary Spaces
             Disk Space for Sorting
             Controlling the Use of Temporary Space
             Memory Utilization in Sorting
             Performance Hints for Large Sorts
             Join Methods
             Temporary Space in the SYSTEM DBEFileSet
             Section Caching and Directory Caching
          Setting Limits for Section Caching
          Using Multiconnect Functionality
          Using Timeouts to Tune Performance
      Network Guidelines
      MPE/iX System Guidelines
          Using Pseudomapped DBEFiles in MPE/iX
          Using Memory-Resident Data Buffers

   Ch 6.  Getting Started With SQLMON
      Introduction
      Starting SQLMON
      Leaving SQLMON
      Specifying the DBEnvironment
      Invoking SQLMON Screens
      Leaving an SQLMON Screen
      Navigating SQLMON Subsystems
      Setting SQLMON Variables
      Accessing Online Help
          Invoking the Help Facility
          Leaving the Help Facility
          Issuing Help Commands
      Creating Batch Reports
      Overhead Generated by SQLMON
      Monitoring Tasks

   Ch 7.  Troubleshooting with SQLMON
      Overview Subsystem
          Transaction Limit Reached
          Lock Contention
          Memory Limit Reached
          High Data Buffer Miss Rate
          Log Full Condition
      IO Subsystem
          Insufficient Data Buffer Space
          Insufficient Log Buffer Space
      Load Subsystem
          Transaction Delays
          Rollbacks
          Lock Contention
      Lock Subsystem
          Lock Waits
             Overview Session Screen
             Lock Session Screen
             Lock Impede Screen
          Deadlocks
             Step 1 Open Four Windows
             Step 2 Set Up the Freeze
             Step 3 Create a Deadlock
             Step 4 Examine the Locks with SQLMON
             Step 5 Release the Frozen Session
          Lock Allocation Failures
             Step 1 Open Three Windows
             Step 2 Set Up the Freeze
             Step 3 Generate the Error
             Step 4 Investigate the Session with SQLMON
             Step 5 Release the Frozen Session
          Freezing DBEnvironment Sessions
          Releasing DBEnvironment Sessions
      SampleIO Subsystem
          Using the SET SAMPLING Command
          Using the SET DISPLAYSAMPLES Command
          A Sample Batch Job
          Understanding the Internals of Sampling
      Static Subsystem
          Full DBEFileSets
          Poorly Clustered Indexes
          Indirect Rows
          Hash Overflow Pages

   Ch 8.  SQLMON Screen Reference
      IO Screen
      IO Data Program Screen
      IO Data Session Screen
      IO Log Program Screen
      IO Log Session Screen
      Load Screen
      Load Program Screen
      Load Session Screen
      Lock Screen
      Lock Impede Screen
      Lock Memory Screen
      Lock Object Screen
      Lock Session Screen
      Lock TabSummary Screen
      Overview Screen
      Overview Program Screen
      Overview Session Screen
      SampleIO Screen
      SampleIO Indexes Screen
      SampleIO Objects Screen
      SampleIO TabIndex Screen
      SampleIO Tables Screen
      Static Screen
      Static Cluster Screen
      Static DBEFile Screen
      Static Hash Screen
      Static Indirect Screen
      Static Size Screen

   Ch 9.  SQLMON Command Reference
      EXIT
      HELP
      QUIT
      SET
      SET CYCLE
      SET DBECONNECT
      SET DBEFILESET
      SET DBEINITPROG
      SET DBENVIRONMENT
      SET DISPLAYSAMPLES
      SET ECHO
      SET LOCKFILTER
      SET LOCKOBJECT
      SET LOCKTABFILTER
      SET MENU
      SET OUTPUT
      SET REFRESH
      SET SAMPLING
      SET SORTIODATA
      SET SORTIOLOG
      SET SORTLOAD
      SET SORTLOCK
      SET SORTSAMPLEIO
      SET TOP
      SET USERTIMEOUT
      :

   Ap A. Design for a High-Performance Interactive Table Editor
      Example Table
      User Interface
      Internal Algorithms
          SELECT
          DELETE
          UPDATE
   INDEX
       Index



MPE/iX 5.0 Documentation