Epicor BAQ Performance Tuning Checklist: Fix Slow Queries and Dashboards
Slow BAQs and dashboards are one of the most common complaints from Epicor users. Most slowness comes from a handful of causes: loose joins, unbounded date ranges on big tables and repeated calls. Use this checklist in order.
0 of 26 items complete
7 critical items still open - these are the highest-risk gaps.
Reproduce and measure
Joins and tables
Criteria and filters
Calculated fields and subqueries
Database and environment
Critical items usually explain the largest share of slowness. Fix those first, then re-test with the same parameters.
BAQ performance review
Optional: send us your three slowest queries and we will point out likely causes.
Optional. The tool and every export work without this. No spam.
How to use the checklist
Start with the measurement group so you know the baseline. Then work down: joins, criteria, calculated fields and finally the database. Change one thing at a time and re-run with the same parameters, so you can tell which change helped. Export the checked list and attach it to the support ticket or change record so the next developer knows what was tried.
The usual suspects
On most systems the same three issues explain the majority of slow queries. First, a missing Company or key column in a join that multiplies rows. Second, no date filter on a history table, so the query reads years of transactions. Third, a correlated subquery that runs once per row. Fix those and you will often see a ten times or better improvement without touching indexes.
- Check join keys before anything else
- Bound history tables by date
- Replace per-row subqueries with joins
When it is not the query
If the query runs fast in the BAQ designer but the dashboard is slow, the cause is probably the grid, too many columns or a refresh timer. If it is slow only at certain hours, look for competing jobs such as MRP, backups or other reports. Heavy analytics belong on a replica or data warehouse rather than the live transactional database, which protects shop floor transactions.
Frequently Asked Questions
Why is my BAQ fast in the designer but slow on a dashboard?
The designer usually tests a limited number of rows. Dashboards may run the full set, add grid rendering and refresh on a timer. Reduce returned columns, add parameters and check refresh settings.
Do I need to add indexes?
Only after fixing joins and filters. Standard tables are indexed for key access. Custom indexes should be agreed with your DBA and Epicor support, because they can be overwritten or affect upgrades.
Does Epicor cache BAQ results?
Some data is cached on the client side, but you should not rely on caching for performance. Make the query efficient and bounded by parameters.
How can I find which BAQs are slow?
Use Epicor's server logging and tracing options, or ask the DBA to review long-running queries on the database. Then trace the offending query back to its BAQ by its text and tables.
If your users export Epicor data to spreadsheets because dashboards are too slow, Netray can help set up a read-only analytics layer off your live system.
Related Tools
Epicor Kinetic Database Tables Reference
Look up the main Erp.* tables in Epicor Kinetic with what each holds and the columns that identify a row. Useful when writing BAQs and SQL.
EpicorEpicor Job Material Shortage SQL Generator
Build a query that lists unissued job material for released, open jobs so planners can chase shortages.
EpicorEpicor Open Sales Order Releases SQL Generator
Pull open order releases with required dates and quantities to build a backlog or past-due report.
EpicorEpicor Kinetic Go-Live Readiness Checklist
A cutover checklist for a new Epicor Kinetic implementation or major re-implementation, grouped by data, security, integrations, people and support.
More Epicor tools
See all- Epicor Kinetic Customization Change Request Form Template
- Epicor Kinetic Go-Live Cutover Plan Template
- Epicor Kinetic User Access Request Form Template
- Epicor Kinetic BPM Directive Inventory Worksheet
- Epicor Kinetic Scheduled Task Register Worksheet
- Epicor Kinetic Custom Report Inventory Worksheet
- Epicor Kinetic Data Migration Mapping Worksheet
- Epicor Kinetic Data Load Effort Calculator
- Epicor Business Object Services Reference