chore: optimize SQL queries that perform partial full table scans (#24786)
This commit is contained in:
parent
be3af1e234
commit
ca96350707
5 changed files with 83 additions and 10 deletions
|
|
@ -130,13 +130,16 @@ class ParentChildIndexProcessor(BaseIndexProcessor):
|
|||
if delete_child_chunks:
|
||||
db.session.query(ChildChunk).where(
|
||||
ChildChunk.dataset_id == dataset.id, ChildChunk.index_node_id.in_(child_node_ids)
|
||||
).delete()
|
||||
).delete(synchronize_session=False)
|
||||
db.session.commit()
|
||||
else:
|
||||
vector.delete()
|
||||
|
||||
if delete_child_chunks:
|
||||
db.session.query(ChildChunk).where(ChildChunk.dataset_id == dataset.id).delete()
|
||||
# Use existing compound index: (tenant_id, dataset_id, ...)
|
||||
db.session.query(ChildChunk).where(
|
||||
ChildChunk.tenant_id == dataset.tenant_id, ChildChunk.dataset_id == dataset.id
|
||||
).delete(synchronize_session=False)
|
||||
db.session.commit()
|
||||
|
||||
def retrieve(
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue