[ https://issues.apache.org/jira/browse/HIVE-16311?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15958987#comment-15958987 ]
Matt McCline commented on HIVE-16311: ------------------------------------- 1234567.8901234560/9 is a trailing zero 1234567.8901234560 stripped to 1234567.890123456 divided by 9. But the bigger question is what *result* decimal precision/scale did Hive choose to do its enforcePrecisionScale and toFormatString(int formatScale) did Hive choose? What is in the EXPLAIN plan? (Exact result of division: 137174.21001371733) > Improve the performance for FastHiveDecimalImpl.fastDivide > ---------------------------------------------------------- > > Key: HIVE-16311 > URL: https://issues.apache.org/jira/browse/HIVE-16311 > Project: Hive > Issue Type: Improvement > Affects Versions: 2.2.0 > Reporter: Colin Ma > Assignee: Colin Ma > Fix For: 3.0.0 > > Attachments: HIVE-16311.001.patch, HIVE-16311.002.patch, > HIVE-16311.003.patch, HIVE-16311.004.patch, HIVE-16311.005.patch, > HIVE-16311.withTrailingZero.patch > > > FastHiveDecimalImpl.fastDivide is poor performance when evaluate the > expression as 12345.67/123.45 > There are 2 points can be improved: > 1. Don't always use HiveDecimal.MAX_SCALE as scale when do the > BigDecimal.divide. > 2. Get the precision for BigInteger in a fast way if possible. -- This message was sent by Atlassian JIRA (v6.3.15#6346)