db_12_lonski

download db_12_lonski

of 28

Transcript of db_12_lonski

  • 7/31/2019 db_12_lonski

    1/28

    www.allegroconsultants.com

    DB-12 - Pick An Index,

    Any Index

    Michael Lonski

    Allegro Consultants, LTD.

  • 7/31/2019 db_12_lonski

    2/28

    www.allegroconsultants.com

    Whats Next

    Prepare

  • 7/31/2019 db_12_lonski

    3/28

    www.allegroconsultants.com

    Who I Am

    Started working with Progress v3 (1986)

    Founded Allegro Consultants in 1993

    Internationally recognized speaker

    Author of Coding Smart book on ADM2

    Punster and Frequent Talker

  • 7/31/2019 db_12_lonski

    4/28

    www.allegroconsultants.com

    And Why I Am Here

    Overview index rules

    Practical tools, not bookish theory

    Focus on fact, not guesswork

    Compile time information

    Run-time information

    Show off skill at alliteration

  • 7/31/2019 db_12_lonski

    5/28

    www.allegroconsultants.com

    Whats Next

    Prepare

    Predict

  • 7/31/2019 db_12_lonski

    6/28

    www.allegroconsultants.com

    Hierarchy For A Single Index

    1. Unique index with all components

    involved in the equality matches

    2. Most active equality matches

    3. Most active range matches

    4. Most active sort matches

    5. First index alphabetically by index name6. The primary index

  • 7/31/2019 db_12_lonski

    7/28

    www.allegroconsultants.com

    Multiple Index Usage

    If indexes are available for both sides of

    WHERE... AND/OR, more than one index

    can be used

    Multiple indexes will *only*be used to

    assist in bracketing records

  • 7/31/2019 db_12_lonski

    8/28

    www.allegroconsultants.com

    WHEREAND

    WHEREclause includes the use ofAND

    All components of each index are

    involved in equality matches

    No unique indexes are involved

  • 7/31/2019 db_12_lonski

    9/28

    www.allegroconsultants.com

    WHEREOR

    WHEREclause includes the use ofOR

    Both the left and right side of the OR

    contain at least the lead component of an

    index

    These lead components are involved in

    either equality or range matches

  • 7/31/2019 db_12_lonski

    10/28

    www.allegroconsultants.com

    Whats Next

    Prepare

    Predict

    Prevent

  • 7/31/2019 db_12_lonski

    11/28

  • 7/31/2019 db_12_lonski

    12/28

    www.allegroconsultants.com

    Breaking The Index

    WHERE Family.CoveredOnBenefits

    WHERE MATCHES

    WHERE NOT

    WHERE IF

    THEN = vcInput

    ELSE TRUEWHERE SUBSTRING () = A

  • 7/31/2019 db_12_lonski

    13/28

    www.allegroconsultants.com

    Whats Next

    Prepare

    Predict

    Prevent

    Plan

  • 7/31/2019 db_12_lonski

    14/28

    www.allegroconsultants.com

    XREF Information

    COMPILE prog.p XREF prog.xref

    FIND

    FOR EACH

  • 7/31/2019 db_12_lonski

    15/28

    www.allegroconsultants.com

    Demo XREF-demo.p

  • 7/31/2019 db_12_lonski

    16/28

    www.allegroconsultants.com

    XREF Information

    COMPILE prog.p XREF prog.xref

    DEFINE

    Query

    CREATE

    Query

  • 7/31/2019 db_12_lonski

    17/28

    www.allegroconsultants.com

    Demo Query-demo.p

  • 7/31/2019 db_12_lonski

    18/28

    www.allegroconsultants.com

    Whats Next

    Prepare

    Predict

    PreventPlan

    Prove

  • 7/31/2019 db_12_lonski

    19/28

    www.allegroconsultants.com

    If A Query Could Talk

    qryCust

    Did I error?

    Did I bracket?

    What did I use?

  • 7/31/2019 db_12_lonski

    20/28

    www.allegroconsultants.com

    How To Ask

    qryCust

    DEFINE QUERY qCust

    QUERY qCust:

    DEFINE VARIABLE vhQryCust AS HANDLE

    CREATE QUERY vhQryCust

    vhQryCust = QUERY qCust:HANDLE

  • 7/31/2019 db_12_lonski

    21/28

    www.allegroconsultants.com

    What to Ask

    qryCust

    Did I error?

    Did I bracket?

    What did I use?

    vhQry:INDEX-INFORMATION()

    ERROR-STATUS:NUM-MESSAGES

    ENTRY(1, vhQry:I-I) = WHOLE-INDEX

  • 7/31/2019 db_12_lonski

    22/28

    www.allegroconsultants.com

    Demo wQueryTest.w

  • 7/31/2019 db_12_lonski

    23/28

    www.allegroconsultants.com

    Whats Next

    Prepare

    Predict

    PreventPlan

    Prove

    Process

  • 7/31/2019 db_12_lonski

    24/28

    www.allegroconsultants.com

    OpenEdge 10 Log Manager

    New features in OpenEdge 10

    Both command-line and run-time controls

    Highly configurable

  • 7/31/2019 db_12_lonski

    25/28

    www.allegroconsultants.com

    Log Manager Controls

    Command Line

    -clientlog

    -logentrytypes

    -logginglevel

    -numlogfiles

    -logthreshold

    LOG-MANAGER

    :LOGFILE -NAME

    :LOG-ENTRY-TYPES

    :LOGGING-LEVEL

    :NUM-LOG-FILES

    :LOG-THRESHOLD

  • 7/31/2019 db_12_lonski

    26/28

    www.allegroconsultants.com

    Demo Logging-demo.p

  • 7/31/2019 db_12_lonski

    27/28

    www.allegroconsultants.com

    Now that Ive rambled on,

    are there any questions?

  • 7/31/2019 db_12_lonski

    28/28

    www.allegroconsultants.com

    Thanks for attending