yihangqiao created HIVE-26649:
---------------------------------
Summary: Hive metabase performance issues due to slow queries
Key: HIVE-26649
URL: https://issues.apache.org/jira/browse/HIVE-26649
Project: Hive
Issue Type: Improvement
Components: Metastore
Affects Versions: 2.3.3
Environment: metastore db :mysql 5.X
hive:2.3.3
Reporter: yihangqiao
Assignee: yihangqiao
Fix For: 2.3.3
Attachments: image-2022-10-19-14-42-33-073.png
When the Hive metabase uses Mysql, during the peak period of Hive statement
query, the metastore initiates a large amount of DirectSQL, which will cause
performance problems in the metabase. The fundamental reason is that some
DirectSQL performance problems cause a large number of slow queries at the DB
level.
For example for the following Hive query:
{code:java}
select * from imd_fcac_safe.fcac_dw_loan_details where ds='2021-10-10' and
sysid='MCFCM' {code}
where ds and sysid are the primary and secondary partitions of the
imd_fcac_safe.fcac_dw_loan_details table, respectively
The Hive statement will generate the DirectSQL query as follows:
{code:java}
explain select PARTITIONS.PART_ID from PARTITIONS inner join TBLS on
PARTITIONS.TBL_ID = TBLS.TBL_ID and TBLS.TBL_NAME = 'fcac_dw_loan_details'
inner join DBS on TBLS.DB_ID = DBS.DB_ID and DBS.NAME = 'imd_fcac_safe'
inner join PARTITION_KEY_VALS FILTER0 on FILTER0.PART_ID = PARTITIONS.PART_ID
and FILTER0.INTEGER_IDX = 0 inner join PARTITION_KEY_VALS FILTER1 on
FILTER1.PART_ID = PARTITIONS.PART_ID and FILTER1.INTEGER_IDX = 1 where (
((FILTER0.PART_KEY_VAL = '2021-10-10') and (FILTER1.PART_KEY_VAL = 'MCFCM')) )
{code}
!image-2022-10-19-14-42-33-073.png!
Problems with this statement
There is no TBL_ID field in the PARTITION_KEY_VALS table, which will cause the
partition of the same name of the unrelated table to be described when
performing an associated query; there is no index column in the
PARTITION_KEY_VAL table, so it cannot be accelerated by the index.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)