feat: optimize _index_query performance in OceanBase Oracle mode#31
Merged
yuanoOo merged 2 commits intooceanbase:mainfrom Oct 27, 2025
Merged
feat: optimize _index_query performance in OceanBase Oracle mode#31yuanoOo merged 2 commits intooceanbase:mainfrom
yuanoOo merged 2 commits intooceanbase:mainfrom
Conversation
- Add table_name filtering on all_ind_columns to reduce data scan - Override _index_query method in OceanBaseDialect_cx_oracle - Add early filtering condition: all_ind_columns.table_name IN (all_objects) - Significantly improve query performance for index metadata retrieval - Compatible with SQLAlchemy 2.x only Performance improvement: - Reduces amount of data scanned early in query execution - Avoids full table scan on all_ind_columns - Optimizes index query performance in OceanBase Oracle mode
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
🚀 Feature Description
Optimize the performance of
_index_querymethod in OceanBase Oracle mode by adding early filtering conditions to reduce data scanning.🎯 Optimization Details
_index_querymethod inOceanBaseDialect_cx_oracleclassall_ind_columns.table_name🔧 Technical Implementation
Key Optimization
SQL Query Optimization
Before:
After:
📈 Performance Benefits
all_ind_columnstable🧪 Testing & Validation
📝 Compatibility
SA_20_PLUSflag🔗 Related Files
oceanbase-sqlalchemy-plugin/oceanbase_sqlalchemy/cx_oracle.py