索引分析后index_stats里没数据?

 
SQL>  analyze index inp.index_name validate structure online;

Index analyzed.

 

 SQL>  select * from index_stats
  ;

no rows selected

 

 解释如下,要用DBMS_STATS包来分析,另外不加online是会有分析数据的

 

 

转到底部转到底部

In this Document

Symptoms
Cause
Solution

Applies to:

Oracle Database - Enterprise Edition - Version 9.2.0.1 to 11.2.0.3 [Release 9.2 to 11.2]
Information in this document applies to any platform.
***Checked for relevance on 27-Jan-2012***


Symptoms

A sql command 'analyze index validate structure online' does not populate index_stats or index_histogram while without the online clause it does populate the views.

Testcase


SQL> create table test (id number, text varchar2(9));
SQL> create index test_indx on test(id);
SQL> insert into test values (1, 'A');
SQL> insert into test values (2, 'B');
SQL> insert into test values (3, 'C');
SQL> commit;


SQL> analyze index test_indx validate structure online;

Index analyzed.

SQL> select * from index_stats;

no rows selected

SQL> select * from index_histogram;

no rows selected



SQL> analyze index test_indx validate structure ;

Index analyzed.

SQL> select * from index_stats;

HEIGHT                BLOCKS NAME
---------- ---------- ------------------------------
PARTITION_NAME                                LF_ROWS      LF_BLKS      LF_ROWS_LEN LF_BLK_LEN
------------------------------ ---------- ---------- ----------- ----------
    BR_ROWS      BR_BLKS BR_ROWS_LEN BR_BLK_LEN DEL_LF_ROWS DEL_LF_ROWS_LEN
---------- ---------- ----------- ---------- ----------- ---------------
DISTINCT_KEYS MOST_REPEATED_KEY BTREE_SPACE USED_SPACE    PCT_USED ROWS_PER_KEY
------------- ----------------- ----------- ---------- ---------- ------------
BLKS_GETS_PER_ACCESS PRE_ROWS    PRE_ROWS_LEN OPT_CMPR_COUNT OPT_CMPR_PCTSAVE
-------------------- ---------- ------------ -------------- ----------------
                                  8 TEST_INDX
                                                                                                              42            7996
                                                                                                              0
                                                                7996                42                                      1
                                                                                                                            0


SQL> select * from index_histogram;

REPEAT_COUNT KEYS_WITH_REPEAT_COUNT
------------ ----------------------
                                                            0
                                                            3
                                                            0
                                                            0
                                                            0
                                                            0
                                                            0
                                                            0
                                                            0
                                                            0
                  10                                          0
                  11                                          0
                  12                                          0
                  13                                          0
                  14                                          0
                  15                                          0

16 rows selected.

SQL>
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
import pandas as pd import datetime #将数据作存储并且设置前三列为合适的索引 df = pd.read_csv('wind.data',sep='\s+',parse_dates=[[0,1,2]]) #2061年?我们真的有这一年的数据?创建一个函数并用它去修复这个bug def fix_century(x): year = x.year - 100 if x.year>1999 else x.year return datetime.date(year,x.month,x.day) df['Yr_Mo_Dy'] = df['Yr_Mo_Dy'].apply(fix_century) #将日期设为索引,注意数据类型,应该是datetime64[ns] df['Yr_Mo_Dy'] = pd.to_datetime(df['Yr_Mo_Dy']) df = df.set_index('Yr_Mo_Dy') #对应每一个location,一共有多少数据值缺失 df.isnull().sum() #对应每一个location,一共有多少完整的数据值 df.shape[1] - df.isnull().sum() #对于全体数据,计算风速的平均值 df.mean().mean() #创建一个名为loc_stats的数据框去计算并存储每个location的风速最小值,最大值,平均值和标准差 loc_stats = pd.DataFrame() loc_stats['min'] = df.min() loc_stats['max'] = df.max() loc_stats['mean'] = df.mean() loc_stats['std'] = df.std() #创建一个名为day_stats的数据框去计算并存储所有天的风速最小值,最大值,平均值和标准差 day_stats = pd.DataFrame() day_stats['min'] = df.min(axis=1) day_stats['max'] = df.max(axis=1) day_stats['mean'] = df.mean(axis=1) day_stats['std'] = df.std(axis=1) #对于每一个location,计算一月份的平均风速 df['date'] = df.index df['year'] = df['date'].apply(lambda df: df.year) df['month'] = df['date'].apply(lambda df: df.month) df['day'] = df['date'].apply(lambda df: df.day) january_winds = df.query('month ==1') #query等同于df[df.month==1] january_winds.loc[:,'RPT':'MAL'].mean() #对于数据记录按照年为频率取样 df.query('month ==1 and day == 1') #对于数据记录按照月为频率取样 df.query('day == 1')
06-08

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值