This is an automated email from the ASF dual-hosted git repository.

haonan pushed a commit to branch opti_delete_speed
in repository https://gitbox.apache.org/repos/asf/iotdb.git

commit 8f2e4f379c338aca5578c4ee16948d2c188347f6
Author: HTHou <[email protected]>
AuthorDate: Mon Aug 28 15:36:54 2023 +0800

    Accelerate the deletion execution
---
 .../queryengine/plan/planner/plan/node/write/DeleteDataNode.java | 9 ++++++++-
 .../org/apache/iotdb/db/storageengine/dataregion/DataRegion.java | 3 +++
 2 files changed, 11 insertions(+), 1 deletion(-)

diff --git 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/node/write/DeleteDataNode.java
 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/node/write/DeleteDataNode.java
index 8ec2af696a2..216ebf783dc 100644
--- 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/node/write/DeleteDataNode.java
+++ 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/node/write/DeleteDataNode.java
@@ -270,7 +270,14 @@ public class DeleteDataNode extends WritePlanNode 
implements WALEntryValue {
         .map(
             o ->
                 new DeleteDataNode(
-                    getPlanNodeId(), regionToPatternMap.get(o), 
deleteStartTime, deleteEndTime, o))
+                    getPlanNodeId(),
+                    // pick the smaller path list to execute the deletion
+                    this.pathList.size() < regionToPatternMap.get(o).size()
+                        ? this.pathList
+                        : regionToPatternMap.get(o),
+                    deleteStartTime,
+                    deleteEndTime,
+                    o))
         .collect(Collectors.toList());
   }
 
diff --git 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/storageengine/dataregion/DataRegion.java
 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/storageengine/dataregion/DataRegion.java
index 95ffb6264a7..75609c20f93 100644
--- 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/storageengine/dataregion/DataRegion.java
+++ 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/storageengine/dataregion/DataRegion.java
@@ -1935,6 +1935,9 @@ public class DataRegion implements IDataRegionForQuery {
             return true;
           }
         }
+        if (databaseName.contentEquals(device.getDevice())) {
+          return false;
+        }
         Pair<Long, Long> startAndEndTime =
             tsFileResource.getPossibleStartTimeAndEndTime(device, 
deviceMatchInfo);
         if (startAndEndTime == null) {

Reply via email to