小编a_h*_*ame的帖子

为什么我的查询成本如此之高?

当我对某些查询执行explain analyze时,我已经从一些低值到一些更高的值获得了正常的成本.但是当我试图通过将enable_seqscan切换为false来强制使用表上的索引时,查询成本会跳转到疯狂的值,如:

Merge Join  (cost=10064648609.460..10088218360.810 rows=564249 width=21) (actual time=341699.323..370702.969 rows=3875328 loops=1)
    Merge Cond: ((foxtrot.two = ((five_hotel.two)::numeric)) AND (foxtrot.alpha_two07 = ((five_hotel.alpha_two07)::numeric)))
  ->  Merge Append  (cost=10000000000.580..10023064799.260 rows=23522481 width=24) (actual time=0.049..19455.320 rows=23522755 loops=1)
          Sort Key: foxtrot.two, foxtrot.alpha_two07
        ->  Sort  (cost=10000000000.010..10000000000.010 rows=1 width=76) (actual time=0.005..0.005 rows=0 loops=1)
                Sort Key: foxtrot.two, foxtrot.alpha_two07
                Sort Method: quicksort  Memory: 25kB
              ->  Seq Scan on foxtrot  (cost=10000000000.000..10000000000.000 rows=1 width=76) (actual time=0.001..0.001 rows=0 loops=1)
                      Filter: (kilo_sierra_oscar = 'oscar'::date)
        ->  Index Scan using alpha_five on five_uniform  (cost=0.560..22770768.220 rows=23522480 width=24) (actual time=0.043..17454.619 …
Run Code Online (Sandbox Code Playgroud)

sql postgresql optimization postgresql-9.3

-1
推荐指数
1
解决办法
782
查看次数

如何清理oracle 10g服务器中的临时表空间,请提供linux平台的步骤

我想清理Temp其具有数据文件表空间 temp01.dbftemp02.dbf,所以请给我建议,我应该放下 temp01.dbf文件或者删除临时表空间.Temp表空间的数据文件如下

33G     temp01.dbf
1.5G    temp02.dbf
Run Code Online (Sandbox Code Playgroud)

oracle oracle10g

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

标准Java varargs转换器到数组

我的问题很简单.

核心Java中是否有一个方法可以执行以下代码:

<T> T[] asArray(T... values) {
    return values;
}
Run Code Online (Sandbox Code Playgroud)

我尝试在Arrays类中寻找它,但似乎没有这样的方法.

给你一个背景:

之前使用过该代码的人认为varargs比类构造函数中的常规数组更好(即使它应该是一个数组).现在我必须添加另一个通用数组作为构造函数的最后一个参数,从而转换此代码:

public Clazz(String... values) {
}
Run Code Online (Sandbox Code Playgroud)

对此

public <T> Clazz(String[] values, T[] additionalParameters)
Run Code Online (Sandbox Code Playgroud)

因此,我需要重构使用此构造函数的所有位置.更糟糕的是,有一些其他类遵循相同的模式,我需要在将来的某个时候修改它们.这就是上面提到的方法asArray可以提供的帮助.

我知道最好在每次出现时用显式数组创建替换varargs(这也就是我要做的事情),但我仍然想知道是否已经存在这样的方法(仅仅是出于好奇心).

java arrays methods variadic-functions

-1
推荐指数
1
解决办法
668
查看次数

Oracle中sql中的树结构.如何在SQL Oracle中显示树,子节点和父节点

我想在SQL中显示一个带有子节点和父节点的树结构.我有一张桌子:

Employee
-------------
ID (int)
FirstName (varchar)
LastName (varchar)
ParentID (int)
Job (varchar)
Run Code Online (Sandbox Code Playgroud)

代表一名员工.ParentID代表员工的经理.我想这个表只有这个结构.

  1. 我想展示整个树的结构.
  2. 我想只显示子节点
  3. 我想只显示父节点

SampleDataImage

sql oracle connect-by recursive-query hierarchical-data

-1
推荐指数
1
解决办法
9160
查看次数

SQL - 如果表中的结果在两列中具有相同的数据,如何从表中排除结果

例如,我有一个Cargo Shipment表,在该表中有两列; 起源和目的地.如果这些列中的值相同,我将如何制作以便从select语句中获得的任何结果?

更具体地说,我可以有一行,其中Origin和Destination都等于'Chicago',如何排除该行而不排除具有Origin Destination为Chicago的行.

sql t-sql sql-server

-1
推荐指数
1
解决办法
49
查看次数

Java int vs Integer - 不同的范围

我有以下Java代码段:

int begin=Integer.MAX_VALUE-10;
int end=Integer.MAX_VALUE;

for(int i=begin;i<=end;i++){
    System.out.println("hehe");
}
Run Code Online (Sandbox Code Playgroud)

这个代码片段将无限运行,我可以理解这是因为

i<**=**end
Run Code Online (Sandbox Code Playgroud)

但有些人说int并且Integer有不同的范围.这是真的吗?为什么?

java

-1
推荐指数
1
解决办法
205
查看次数

错误:“END”SQL 状态处或附近出现语法错误:42601

我有一个问题,当我尝试执行以下代码时遇到了这个问题:

CREATE OR REPLACE FUNCTION USP_IP_CREA_AUDITORIA_VER_CONSTRASENA
(p_usuarioObservado td_codigo10
,p_codigoEmpresaObservado td_codigo10
,p_usuario td_codigo10
,p_codigoEmpresa td_codigo10
,p_direccionIP td_ip_auditoria) RETURNS VOID
AS $$
BEGIN

    INSERT INTO IP_MV_AUDITORIA_VER_CONSTRASENA(cod_usuario_observado, cod_empresa_observado, cod_usuario_registro, cod_empresa, des_ip_registro)
                                    VALUES(p_usuarioObservado, p_codigoEmpresaObservado, p_usuario, p_codigoEmpresa, p_direccionIP)

END;


$$ LANGUAGE plpgsql;
Run Code Online (Sandbox Code Playgroud)

但我收到此错误:

CREATE OR REPLACE FUNCTION USP_IP_CREA_AUDITORIA_VER_CONSTRASENA
(p_usuarioObservado td_codigo10
,p_codigoEmpresaObservado td_codigo10
,p_usuario td_codigo10
,p_codigoEmpresa td_codigo10
,p_direccionIP td_ip_auditoria) RETURNS VOID
AS $$
BEGIN

    INSERT INTO IP_MV_AUDITORIA_VER_CONSTRASENA(cod_usuario_observado, cod_empresa_observado, cod_usuario_registro, cod_empresa, des_ip_registro)
                                    VALUES(p_usuarioObservado, p_codigoEmpresaObservado, p_usuario, p_codigoEmpresa, p_direccionIP)

END;


$$ LANGUAGE plpgsql;
Run Code Online (Sandbox Code Playgroud)

postgresql plpgsql

-1
推荐指数
1
解决办法
7240
查看次数

实例声明中的SQL滞后

如果当前CLUSTERn =上一个CLUSTERn,然后将上一个PRODCAT作为PREVCAT添加到当前行,那么我的case语句出了什么问题,我将不胜感激。

ORA-30484: missing window specification for this function
30484. 00000 -  "missing window specification for this function"
*Cause:    All window functions should be followed by window specification,
           like <function>(<argument list>) OVER (<window specification>)
*Action:
Error at Line: 11 Column: 30
Run Code Online (Sandbox Code Playgroud)
SELECT  CLUSTERn,
        MEMBERn,
        COUNT(*) OVER ( PARTITION BY CLUSTERn ORDER BY MEMBERn, PRODCAT, STARTd, ENDd ) AS NEWRANK,
        CASE WHEN CLUSTERn = LAG(CLUSTERn) THEN LAG(PRODCAT) ELSE 'New' END AS PREVCAT,
        STATUS,
        PRODCAT,
        JOINTYPE,
        JOINRANK,
        CSP,
        PROGID,
        PROMNAME,
        PROMOID,
        COHORT, …
Run Code Online (Sandbox Code Playgroud)

sql oracle lag window-functions

-1
推荐指数
1
解决办法
2939
查看次数

为什么我在select语句中得到超过1行?

我有一张桌子:

表:Berichten列:ID,Bericht,Bericht,Klant_ID,Product_ID,Datum

我在其中有一行,并希望用与列中相同的klant_id向用户显示它,当我运行以下语句时,我得到10行

 select 
    b.ID,
    b.Product_id ,
    b.Klant_id,
    b.onderwerp
 from BERICHTEN b, KLANTEN k 
 WHERE b.klant_id = (select ID from klanten where email = 'joris@am.nl')
Run Code Online (Sandbox Code Playgroud)

知道我为什么得到10行而不是1行?

sql oracle

-1
推荐指数
1
解决办法
66
查看次数

不相等的地方

我有以下 SQL 语句:

select s.conclusion, t.* from trip t 
JOIN triprequirementsmapping m ON m.tripid = t.trip_id
JOIN approvalsubmission s ON s.requested = m.corporatetravelrequesturi
where s.conclusion <> 'DISCONTINUED'
Run Code Online (Sandbox Code Playgroud)

s.conclusion对于此示例, 的值为 null。

问题

当我希望它返回一行时,此查询不返回任何行,因为s.conclusion不是DISCONTINUED

如何使用 WHERE 子句返回所有没有值为 的行DISCONTINUED

sql postgresql sql-null

-1
推荐指数
1
解决办法
33
查看次数