Table of Contents

Performance Analysis Module - User Guide

Overview

The Performance Analysis module is a powerful tool designed to help you identify and optimize performance bottlenecks in your 3PL Dynamics application. This module analyzes various function types and provides actionable recommendations to improve system performance, with a particular focus on database query optimization through proper filtering and indexing.

What You'll Learn

  • How to run performance analysis on different function types
  • Understanding performance scores and their meaning
  • How to interpret analysis results and suggestions
  • The importance of database indexes and filtering strategies
  • Best practices for optimizing performance-sensitive functions

Getting Started

Prerequisites

  • Access to the 3PL Dynamics application
  • Administrative permissions to run performance analysis
  • Basic understanding of Business Central development concepts

Accessing the Performance Analysis

  1. Open the Tell Me search (Alt+Q)
  2. Search for "Analyze Function Performance"
  3. Select the Analyze Function Performance page

Running Your First Analysis

Step 1: Select Function Type

  1. On the Analyze Function Performance page, select a Function Type from the dropdown
  2. Available function types are extensible and depend on your system configuration
  3. Each function type represents a category of functions that can be analyzed (e.g., Function Sets, Scan Views, etc.)

Step 2: Execute Analysis

  1. Click the Run analysis button
  2. The system will display a progress bar showing the analysis progress
  3. Depending on the number of functions, this may take several minutes

Step 3: Review Results

After the analysis completes, the Performance Analysis List page opens automatically, displaying:

  • Function Type: The category of function analyzed
  • Source Record: The originating record (if applicable)
  • Function Record: The specific function record
  • Performance Score: A score from 0-100 indicating performance quality
  • Function Description: Human-readable description of the function
  • Linked Table: The database table associated with the function

Understanding Performance Scores

The Performance Analysis module assigns scores from 0 to 100 based on various performance criteria:

Score Ranges

Score Range Status Color Coding Meaning
80-100 Favorable Green Good performance, minor optimizations possible
50-79 Ambiguous Yellow Moderate performance issues, optimization recommended
0-49 Unfavorable Red Critical performance issues, immediate attention required

Filtering Views

The analysis list provides pre-configured views to help you focus on specific issues:

  • Suboptimal: All functions with scores below 100
  • Informational: Functions with scores 80-99 (minor issues)
  • Warning: Functions with scores 50-79 (moderate issues)
  • Critical: Functions with scores below 50 (urgent issues)

Deep Dive: Understanding Database Indexes and Filtering

Why Indexes Matter

Database indexes are crucial for query performance. Think of them like a book's index - they help the database quickly locate specific data without scanning every record.

Key Concepts

Primary Key: The main identifier for each record Secondary Keys: Additional indexes that can speed up specific queries Composite Keys: Indexes spanning multiple fields

The Importance of First Field Filtering

The most critical performance rule is: Always filter on the first field of a database key.

Example Scenario

Consider a table with this key structure:

Key: Customer No., Document Type, Document No.

Good Performance

// Filter includes the first field (Customer No.)
SalesLine.SetRange("Customer No.", 'CUST001');
SalesLine.SetRange("Document Type", SalesLine."Document Type"::Order);

Poor Performance

// Missing filter on first field - database cannot use the index efficiently
SalesLine.SetRange("Document Type", SalesLine."Document Type"::Order);
SalesLine.SetRange("Document No.", 'SO001');

Analyzing Results in Detail

Viewing Detailed Analysis

  1. In the Performance Analysis List, click on any Performance Score value
  2. This opens the Performance Analysis Details page with:
    • Function information
    • Current filter analysis
    • Specific suggestions for improvement
    • Links to related table keys

Understanding Suggestions

The detail page provides actionable recommendations such as:

  • Add filters to specific fields: Identifies which fields need filtering
  • Filter sequence optimization: Suggests the optimal order for applying filters
  • Missing index usage: Highlights when queries don't utilize available indexes

Using Linked Table Keys

  1. Click the Linked Table Keys action to view all available indexes
  2. This shows you all possible filtering combinations
  3. Use this information to determine optimal filter strategies

Best Practices for Performance Optimization

1. Filter Strategy

  • Always filter on the first field of any key you intend to use
  • Use specific values rather than ranges when possible

2. Key Selection

  • Review available keys using the Linked Table Keys action
  • Choose keys that match your most common query patterns
  • Consider creating custom keys for frequently used filter combinations

3. Regular Monitoring

  • Run performance analysis regularly (monthly or quarterly)
  • Focus on functions with scores below 80
  • Monitor performance trends over time

4. Prioritization

  • Address Critical issues (score < 50) first
  • Focus on frequently used functions
  • Consider business impact when prioritizing optimizations

Advanced Analysis Features

Analyzing Specific Records

You can analyze performance for specific records:

  1. Navigate to any record in the system
  2. Look for performance analysis actions in the ribbon
  3. This provides targeted analysis for that specific data context

Batch Analysis

For comprehensive system analysis:

  1. Use the function type analysis for broad coverage
  2. Run analysis during off-peak hours
  3. Export results for documentation and tracking

Summary

The Performance Analysis module is an essential tool for maintaining optimal system performance. By understanding database indexing principles and following the filtering best practices outlined in this guide, you can significantly improve your system's responsiveness and user experience.

Key Takeaways

  1. Filter on first key fields - This is the most important performance rule
  2. Monitor regularly - Make performance analysis part of your routine maintenance
  3. Prioritize critical issues - Focus on functions with scores below 50
  4. Leverage detailed analysis - Use the suggestions to guide your optimization efforts

Next Steps

  • Run your first performance analysis following this guide
  • Review any critical or warning-level functions
  • Implement suggested optimizations
  • Schedule regular performance reviews