Search response time is slow for part classification with custom attributes in part-class module (env-r2022x)

We’re experiencing very slow search performance when users filter parts by custom classification attributes in ENOVIA R2022x. Simple searches by part number return in under 1 second, but adding classification filters (material type, finish code, supplier rating) increases response time to 15-25 seconds. Our database is Oracle 19c with about 280,000 parts.

The SQL explain plan shows:


Full table scan on CLASSIFICATIONATTRIBUTE
Nested loop joins on 4 tables
Rows examined: 1,847,293

We have indexes on part number and name, but I’m not sure if classification attribute tables are properly indexed. Users frequently search by 2-3 classification attributes simultaneously, which seems to make the problem worse. This is significantly impacting BOM creation and engineering workflows. Has anyone optimized search performance for classification-heavy queries?

Multiple addClassificationCriteria calls are fine, but the query builder needs proper indexes to execute efficiently. Your single-column indexes aren’t helping because the database needs to match both the attribute definition AND the object reference simultaneously. That’s why you’re seeing nested loops examining nearly 2 million rows.

That full table scan on CLASSIFICATIONATTRIBUTE is your problem. With 280K parts and multiple attributes per part, you’re probably scanning millions of rows. You need composite indexes on the classification tables that match your common query patterns.