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
- Open the Tell Me search (Alt+Q)
- Search for "Analyze Function Performance"
- Select the Analyze Function Performance page
Running Your First Analysis
Step 1: Select Function Type
- On the Analyze Function Performance page, select a Function Type from the dropdown
- Available function types are extensible and depend on your system configuration
- Each function type represents a category of functions that can be analyzed (e.g., Function Sets, Scan Views, etc.)
Step 2: Execute Analysis
- Click the Run analysis button
- The system will display a progress bar showing the analysis progress
- 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
- In the Performance Analysis List, click on any Performance Score value
- 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
- Click the Linked Table Keys action to view all available indexes
- This shows you all possible filtering combinations
- 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:
- Navigate to any record in the system
- Look for performance analysis actions in the ribbon
- This provides targeted analysis for that specific data context
Batch Analysis
For comprehensive system analysis:
- Use the function type analysis for broad coverage
- Run analysis during off-peak hours
- 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
- Filter on first key fields - This is the most important performance rule
- Monitor regularly - Make performance analysis part of your routine maintenance
- Prioritize critical issues - Focus on functions with scores below 50
- 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