This is an automated email from the ASF dual-hosted git repository. pvary pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/hive.git
The following commit(s) were added to refs/heads/master by this push: new 3c9ea5d HIVE-25841: Improve performance of deleteColumnStatsState (Peter Vary reviewed by Zoltan Haindrich) (#2914) 3c9ea5d is described below commit 3c9ea5d8d6ecc0d3749e22b28bfb7690dd3f1be1 Author: pvary <pv...@cloudera.com> AuthorDate: Wed Jan 5 13:49:21 2022 +0100 HIVE-25841: Improve performance of deleteColumnStatsState (Peter Vary reviewed by Zoltan Haindrich) (#2914) --- .../hadoop/hive/metastore/MetaStoreDirectSql.java | 24 +++++++++++++++++----- 1 file changed, 19 insertions(+), 5 deletions(-) diff --git a/standalone-metastore/metastore-server/src/main/java/org/apache/hadoop/hive/metastore/MetaStoreDirectSql.java b/standalone-metastore/metastore-server/src/main/java/org/apache/hadoop/hive/metastore/MetaStoreDirectSql.java index b200608..d24128c 100644 --- a/standalone-metastore/metastore-server/src/main/java/org/apache/hadoop/hive/metastore/MetaStoreDirectSql.java +++ b/standalone-metastore/metastore-server/src/main/java/org/apache/hadoop/hive/metastore/MetaStoreDirectSql.java @@ -2952,14 +2952,28 @@ class MetaStoreDirectSql { } public void deleteColumnStatsState(long tbl_id) throws MetaException { - // @formatter:off - String queryText = "" - + "delete from " + PARTITION_PARAMS + " " - + " where " + String queryText; + switch (dbType.dbType) { + case MYSQL: + // @formatter:off + queryText = "" + + "delete pp from " + PARTITION_PARAMS + " pp, " + PARTITIONS + " p" + + " where" + + " p.\"PART_ID\" = pp.\"PART_ID\" AND" + + " p.\"TBL_ID\" = " + tbl_id + + " and \"PARAM_KEY\" = '"+StatsSetupConst.COLUMN_STATS_ACCURATE + "'"; + // @formatter:on + break; + default: + // @formatter:off + queryText = "" + + "delete from " + PARTITION_PARAMS + + " where" + " \"PART_ID\" in (select p.\"PART_ID\" from " + PARTITIONS + " p where" + " p.\"TBL_ID\" = " + tbl_id + ")" + " and \"PARAM_KEY\" = '"+StatsSetupConst.COLUMN_STATS_ACCURATE + "'"; - // @formatter:on + // @formatter:on + } try { executeNoResult(queryText);