小编rir*_*rhs的帖子

创建索引并使用dbms_stats compute后,查询执行速度较慢

我有一张150万行的表.我运行一个查询,该查询获取列中具有非重复值的记录.我正在观察一种行为,在创建索引之后,查询的性能会降低.我还使用具有100%估计百分比(计算模式)的dbms_stats来收集统计信息,以便oracle 11g CBO为查询计划做出更明智的决策,但它不会改善查询执行时间.

 SQL> desc tab3;
 Name                 Null?    Type
 ----------------------------------------------
 COL1                          NUMBER(38)
 COL2                          VARCHAR2(100)
 COL3                          VARCHAR2(36)
 COL4                          VARCHAR2(36)
 COL5                          VARCHAR2(4000)
 COL6                          VARCHAR2(4000)
 MEASURE_0                     VARCHAR2(4000)
 MEASURE_1                     VARCHAR2(4000)
 MEASURE_2                     VARCHAR2(4000)
 MEASURE_3                     VARCHAR2(4000)
 MEASURE_4                     VARCHAR2(4000)
 MEASURE_5                     VARCHAR2(4000)
 MEASURE_6                     VARCHAR2(4000)
 MEASURE_7                     VARCHAR2(4000)
 MEASURE_8                     VARCHAR2(4000)
 MEASURE_9                     VARCHAR2(4000)
Run Code Online (Sandbox Code Playgroud)

该列measure_0有40万个唯一值.

SQL> select count(*) from (select measure_0 from tab3 group by measure_0 having count(*) = 1) abc;

  COUNT(*)
----------
    403664
Run Code Online (Sandbox Code Playgroud)

以下是执行计划的查询,请注意表中没有索引.

SQL> set autotrace traceonly;

SQL> SELECT * FROM (
  2     SELECT
  3             (ROWNUM -1) AS …
Run Code Online (Sandbox Code Playgroud)

sql oracle indexing sql-execution-plan

11
推荐指数
1
解决办法
1万
查看次数

如何获得最大号码 使用POI填充XLSX文件的列?

我知道我们可以通过遍历所有的行,并要求获得列的最大数量getLastCellNumber每行对象..但这种方法需要循环访问所有这些我想避免,因为这将需要大量的时间,文件一百万行行(这是我期望阅读的那种文件).

当POI读取excel文件时,它会将表单维度(第一行编号,最后一行编号,第一个编号,最后一个编号)存储在DimensionsRecord类的对象中.所以,如果我得到这个对象,我会得到我需要的东西.这些对象可以从Sheet类获得,Sheet类是POI的内部类.我能够提取XLS文件所需的内容,但是我遇到了XLSX文件的障碍.

POI是否DimensionsRecord也为XLSX 维护对象?如果是,有人试图提取它吗?还是有其他一些可以做到这一点?请帮忙!

此外,我想问问,我的做法是否正确与否,也就是我使用POI的内部类(这是我的工作做完),这是正确的,或者我应该仅仅依靠公开的API(太耗时).

xls xlsx apache-poi xssf

7
推荐指数
1
解决办法
1万
查看次数

如何通过XSSF事件API评估excel公式

我正在使用Apache POI的事件API读取XLSX文件,即我通过SAX Parser读取XLSX表的内容.我想知道如何通过使用XSSF事件API获取公式的计算值.

我知道这样做的方法是使用FormulaEvaluator该类.但是,由于formulaEvaluator采用Workbook类的实例,我不想使用这种方法.(我正在阅读包含一百万行和100列的Excel文件,因此如果我创建该Excel的工作簿对象,我的应用服务器内存不足,因此我使用的是事件API)

如果没有Workbook实例,如何在事件解析中进行评估?

excel worksheet-function apache-poi xssf

4
推荐指数
1
解决办法
1619
查看次数