TEMP-TABLE Performance Tuning & Other Important Stuff

Slides:



Advertisements
Similar presentations
MFA for Business Banking – Security Questions with 2nd Request Multifactor Authentication: Quick Tip Sheets Note to Financial Institutions: We are providing.
Advertisements

MFA for Business Banking – Security Questions with Reset Multifactor Authentication: Quick Tip Sheets Note to Financial Institutions: We are providing.
Overview of performance tuning strategies Oracle Performance Tuning Allan Young June 2008.
Progress System Tables
DB-03: A Tour of the OpenEdge™ RDBMS Storage Architecture Richard Banville Technical Fellow.
Strength. Strategy. Stability. The Application Profiler.
INTRODUCTION TO ORACLE DATABASE ADMINISTRATION Lynnwood Brown System Managers LLC Introduction – Lecture 1 Copyright System Managers LLC 2007 all rights.
DEV-13: You've Got a Problem, Here’s How to Find It
Copyright © 2003 Americas’ SAP Users’ Group Custom Archiving 101 Session Code 108 Karin Tillotson Sr. Basis Administrator Tuesday, May 20 th, 2003.
Guide to Oracle10G1 Introduction To Forms Builder Chapter 5.
Harvard University Oracle Database Administration Session 2 System Level.
A Guide to Oracle9i1 Advanced SQL And PL/SQL Topics Chapter 9.
Backup and Recovery Part 1.
Oracle Architecture. Database instance When a database is started the current state of the database is given by the data files, a set of background (BG)
MOVE-4: Upgrading Your Database to OpenEdge® 10 Gus Björklund Wizard, Vice President Technology.
1 PUG Challenge Americas 2015 Click to edit Master title style PUG Challenge USA 2015 Top Performance Enhancers & Destroyers Presented by: Dan Foreman.
Backup & Recovery 1.
DB-13: Understanding VSTs By Paul Guggenheim. Copyright © 2005 Paul Guggenheim & Associates 2 DB-13: Understanding VSTs 2 About PGA  Working in Progress.
DONE-10: Adminserver Survival Tips Brian Bowman Product Manager, Data Management Group.
Troubleshooting SQL Server Enterprise Geodatabase Performance Issues
Chapter Oracle Server An Oracle Server consists of an Oracle database (stored data, control and log files.) The Server will support SQL to define.
Top Performance Enhancers Top Performance Killers in Progress Dan Foreman Progress Expert
Peter van Dam Dynamic WebClient Programming. Peter van Dam Progress fanatic since 1985 Version CHUI-GUI-Batch-WebSpeed-WebClient Founder.
By Lecturer / Aisha Dawood 1.  You can control the number of dispatcher processes in the instance. Unlike the number of shared servers, the number of.
CSE 781 – DATABASE MANAGEMENT SYSTEMS Introduction To Oracle 10g Rajika Tandon.
Top 10 Performance Hints Adam Backman White Star Software
Strength. Strategy. Stability.. Progress Performance Monitoring and Tuning Dan Foreman Progress Expert BravePoint BravePoint
DB-01 Upgrading to OpenEdge ® Practices & Initial Tuning Tom Harris, Managing Director, RDBMS Technology.
2 Copyright © 2004, Oracle. All rights reserved. Running a Forms Developer Application.
Win202 Database Administration. Introduction Welcome to OpenEdge. Type 2 Storage Areas. One of the big selling points for the OpenEdge platform and Win202.
DEV-09: User Authentication in an OpenEdge™ 10.1 Distributed Computing Environment Michael Jacobs Development Architect.
Triggers A Quick Reference and Summary BIT 275. Triggers SQL code permits you to access only one table for an INSERT, UPDATE, or DELETE statement. The.
DONE-08 Sizing and Performance Tuning N-Tier Applications Mike Furgal Performance Manager Progress Software
OPS-15: What was Happening with My Database, AppServer ™, OS... Yesterday, Last Month, Last Year? Libor LaubacherRuanne Cluer Principal Tech Support Engineer.
Progress Database Admin 1 Jeffrey A. Brown - Technical Support Consultant
Diagnostic Pathfinder for Instructors. Diagnostic Pathfinder Local File vs. Database Normal operations Expert operations Admin operations.
A Brief Documentation.  Provides basic information about connection, server, and client.
Catch Me If You Can P ractical Structured Error Handling Peter van Dam.
What’s new in OpenEdge 10.2B OpenEdge Management OpenEdge Replication
Database structure and space Management. Database Structure An ORACLE database has both a physical and logical structure. By separating physical and logical.
Advanced JSP, Taglibs and Struts
DB-16 : JTA Transactions in the RDBMS, What's Going on Down There? Deb Walz Principal Software Engineer.
AN OBJECT LESSON IN CLASSES “or how OO ABL solves everything.”
Recovery Log Notes Gus Björklund, Progress Dan Foreman, Bravepoint 2014 Americas PUG Challenge Westford, MA June 8 – June
Dynamic SQL. 2 home back first prev next last What Will I Learn? Recall the stages through which all SQL statements pass Describe the reasons for using.
DAY 21: MICROSOFT ACCESS – CHAPTER 5 MICROSOFT ACCESS – CHAPTER 6 MICROSOFT ACCESS – CHAPTER 7 Aliya Farheen October 29,2015.
Section 06 (a)RDBMS (a) Supplement RDBMS Issues 2 HSQ - DATABASES & SQL And Franchise Colleges By MANSHA NAWAZ.
Using Progress® Analytical Tools Adam Backman White Star Software DONE-05:
Text TCS INTERNAL Oracle PL/SQL – Introduction. TCS INTERNAL PL SQL Introduction PLSQL means Procedural Language extension of SQL. PLSQL is a database.
Using Workflow With Dataforms Tim Borntreger, Director of Client Services.
1 Michigan Progress Users Group 2015 Strength. Strategy. Stability. Identifying Performance Issues in Progress Code and Queries.
October 15-18, 2013 Charlotte, NC Accelerating Database Performance Using Compression Joseph D’Antoni, Solutions Architect Anexinet.
LOAD RUNNER. Product Training Load Runner 3 Examples of LoadRunner Performance Monitors Internet/Intranet Database server App servers Web servers Clients.
2 Copyright © 2004, Oracle. All rights reserved. Running a Forms Developer Application.
SAP R/3 User Administration1. 2 User administration in a productive environment is an ongoing process of creating, deleting, changing, and monitoring.
FILES AND EXCEPTIONS Topics Introduction to File Input and Output Using Loops to Process Files Processing Records Exceptions.
Oracle Database Architectural Components
Running a Forms Developer Application
Data Virtualization Tutorial: Introduction to SQL Script
How Social is your data Fundamentals on database storage
Embedded Application Performance Instrumentation
DEV-25: You've Got a Problem, Here’s How to Find It
Top Performance Enhancers & Destroyers
Isolation Levels Understanding Transaction Temper Tantrums
Walking Through A Database Health Check
Auditing in SQL Server 2008 DBA-364-M
Transaction & Record Scoping
Progress System Tables
Efficient Coding and Indexing
Isolation Levels Understanding Transaction Temper Tantrums
Presentation transcript:

TEMP-TABLE Performance Tuning & Other Important Stuff Dan Foreman Progress BravePoint dforeman@BravePoint.com

Introduction- Dan Foreman Progress user since 1984 This year is my 30 year anniversary with Progress Guest Speaker at dozens of Progress Conferences 1990 until Today

Dan Foreman Publications Progress Performance Tuning Guide Progress Database Admin Guide Progress System Tables Guide All updated through V11.3 Hope to have them in ePub and/or Kindle format in the next few months

Who Are You? Progress V6, V7, V8, V9, V10, V11

Miscellaneous Mobile phones on silent or vibrate please TT = Temp Table V11 = OE11

To Do for Next Time Does monitoring EMPTY TEMP-TABLE “lie” about the number of records deleted? Example showing dynamic temp-tables Program to show all fields for the various “pseudo VSTs” Why does tt-data1/3.p not show the dynamic TTs? What are the mystery tables (count 2, peak 9) ???? Benchmark the overhead of turning on the TT monitors

Before TT there were WORK-FILEs 100% Memory resident No indexes Record access is sequential FIND FIRST > FIND LAST > FIND FIRST Increasing the size of a record can be very expensive Can potentially crash a system with three 4GL statements…….

Temp-Table Basics Similar to DB Tables CRUD (Create, Read, Update, Delete) Changes are not logged to the Before Image or After Image files Subject to LBI activity unless NO-UNDO is used Type 2 Storage “Areas” No record locking No latching (in DB shared memory)

TEMP-TABLE Basics TT data is written to a Client temporary file with a DBI prefix DBI file is similar to a “real” DB but with no AI, BI, LG, LK files Location of Client Temp Files can be set with –T parameter Temp Files are hidden on Win & Unix Unix/Linux: -t Windows: DIR /ah

Emptying a TEMP-TABLE EMPTY TEMP-TABLE tablename Much faster than a Loop

NO-UNDO NO-UNDO on the TEMP-TABLE Definition If NO-UNDO isn’t used, changes to TT inside of a transaction are logged to a Client Temp file with lbi prefix

TT Startup Options -tmpbsize – the block size used for the TT “database” Client Startup Parameter The default has changed more than once so we recommend setting it explicitly -tmpbsize 8 recommended -Bt – memory buffers for Temp-Tables Memory = (-Bt * -tmpbsize) * (# of Clients)

Pre-V11 TT Monitoring Options None – at least nothing that’s built in Monitoring the size of the DBI file is about the only useful metric available

V11 Delayed TT Instantiation The app doesn't incur the overhead of instantiating a TT until it's actually referenced The pre-V11 model instantiates all TT's when a new program is run, regardless of whether they are referenced or not Use -nottdelay to revert to the old functionality

Temp Table Logging “The OpenEdge Logging Infrastructure has been enhanced so that application developers can trace the creation and deletion of temp-tables in their applications. This logging capability strengthens the ability to troubleshoot applications that utilize temp-tables and ProDataSets as their primary data structures.”

VSTs for Temp Tables “This ABL enhancement allows clients to gather information about the temp-tables used by the application via Virtual System Tables. These tables give the application access to database activity and status information, enabling an application to understand, debug, and tune the use of temp-tables within their application at runtime.”

Progress.Database.TempTableInfo Class “Provides information about a temp-table and its indexes and provides static properties and methods for retrieving and archiving temp-table information for an ABL session”

TempTableInfo Properties ArchiveIndexStatistics ArchiveTableStatistics TempTableCount TempTablePeak

TempTableInfo Methods GetIndexInfoByID() GetIndexStatHistoryHandle( ) GetTableInfoByID( ) GetTableStatHistoryHandle( ) GetTableInfoByPosition( ) GetVSTHandle( )

Starter Code USING Progress.Database.*. Progress.Database.TempTableInfo:ArchiveTableStatistics = YES. Progress.Database.TempTableInfo:ArchiveIndexStatistics = YES.

Instant Error So you lookup Message# 15247: Cannot set Progress.Database.TempTableInfo:ArchiveTableStatistics (15247) So you lookup Message# 15247: “Update to the property or field is not allowed. This can happen if the given object only provides read-only access to the property based on its state.” What ????

V11 Client Startup Parameters -ttbasetable -tttablerangesize Default is 0; no statistics are recorded Default for the DB –tablerangesize is 50

V11 Client Startup Parameters -ttbaseindex -ttindexrangesize Default is 0; no statistics are recorded Default for the DB –indexrangesize is 50

Try Again Using this .pf file -ttbaseindex 1 -ttindexrangesize 100 -ttbasetable 1 -tttablerangesize 100

Progress.Database.VSTTableId Class “Provides static properties that identity the VST for returning specific temp-table information for an ABL session”

VSTTableId Properties ActBufferId DbStatusId ActIOTypeId MstrBlkId ActSpaceId TransId BuffStatusId UserTableStatId IndexStatId ActIOFileId TableStatId ActRecordId UserIndexStatId BlockId ActIndexId FileListId ActOtherId StatBaseId ActSummaryId UserIOId

Demonstration basic.p tt2.p tt-data1.p

Questions? Questions? Conference Evaluations Thank You! Contact: Dan Foreman dforeman@progress.com +1 541 908 3437 (but not right now please)