ITPub博客

首页 > 数据库 > Oracle > 关于直方图中关于字符类型的ENDPOINT_VALUE字段的转换

关于直方图中关于字符类型的ENDPOINT_VALUE字段的转换

原创 Oracle 作者:gaopengtttt 时间:2014-12-30 11:22:24 0 删除 编辑
  
今天看书(基于ORACLE的SQL优化)看到关于直方图dba_histograms ENDPOINT_VALUE字段的计算问题所以记录如下:
1、数字类型的ENDPOINT_VALUE没有什么悬念就是其本生的值
2、字符类型的ENDPOINT_VALUE计算相对复杂,是取字符的头15的字节经过16进制DUMP后在转换为十进制进行的
测试如下(以频率直方图为列):
SQL> select count(*),d from testh group by d order by d;
 
  COUNT(*) D
---------- --------------------
        70 chenxiuying
        10 gaopeng
        90 gaozhuheng
        30 gaozihan
        60 yanlei


TABLE_NAME                     ENDPOINT_VALUE           ENDPOINT_NUMBER
TESTH                        5.16154795827062E35     70
TESTH                        5.36782799271625E35     80
TESTH                        5.36782802370135E35     170
TESTH                         5.36782802371282E35     200
  TESTH                        6.30244062259123E35     260


如下我们来计算一下5.16154795827062E35,5.36782799271625E35,5.36782802370135E35,5.36782802371282E35,6.30244062259123E35是如何计算出来的
1、5.16154795827062E35
SQL> select dump('chenxiuying',16) from dual;
 
DUMP('CHENXIUYING',16)
-----------------------------------------------
Typ=96 Len=11: 63,68,65,6e,78,69,75,79,69,6e,67


SQL> select to_number('6368656e78697579696e6700000000','xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx') from dual;
 
TO_NUMBER('6368656E78697579696
------------------------------
           5.16154795827062E35
可以看到5.16154795827062E35已经计算出来了。
2、5.36782799271625E35
SQL> select dump('gaopeng',16) from dual;
 
DUMP('GAOPENG',16)
----------------------------------
Typ=96 Len=7: 67,61,6f,70,65,6e,67
 


SQL> select to_number('67616f70656e670000000000000000','xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx') from dual;
 
TO_NUMBER('67616F70656E6700000
------------------------------
           5.36782799271625E35


可以看到5.36782799271625E35已经计算出来了。


余下的使用相同的办法可以计算得出,当然其分布也是正常的,字段为chenxiuying为70行,字段为gaopeng为80-70为10行,可以看出没有问题。
但是一旦字符超过15个字节就会相同,就会出现分布异常的问题。

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/7728585/viewspace-1384702/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
wxh gp_22389860 公众号 MySQL学习 书籍 深入理解MySQL主从原理

注册时间:2021-06-07

  • 博文量
    868
  • 访问量
    3495527