把昵称放在哪里后选择不工作?

时间:2016-07-25 11:16:46

标签: sql db2 db2-400 db2-luw

我有一个远程大型机db2数据库,我在db2服务器上创建了昵称。

问题如下 -

当我运行查询

SELECT * FROM LNICKNAME.TABLE - 它会运行,我可以获取所有列。

但如果我在查询下面运行,它从不给我任何输出并继续运行。

SELECT * FROM LNICKNAME.TABLE  a where a.columnB = 'ADH00040';

从技术上讲,如果我添加任何where条件,它就无效。

2 个答案:

答案 0 :(得分:0)

您的SELECT语句似乎没有错误。所以我假设发生了两件事之一:

Senario 1:

文件非常大,而且columnB上没有索引。如果是这种情况,则需要很长时间,因为数据库必须读取每个记录并检查columnB ='ADH00040'。要查看表中有多少记录,只需在表上运行计数

SELECT COUNT(*) FROM LNICKNAME.BMS_TABLE

Senario 2:

在您的查询完成之前,某人或某人正在断开您的连接。我知道您可以限制iSeries作业在强制结束之前允许的CPU时间(CHGJOB CPUTIME(60000))。是否有可以与我们分享的工作日志形式?

答案 1 :(得分:0)

你确定你的价值在你的桌子上吗?

尝试类似:

SELECT * FROM LNICKNAME.TABLE a a.columnB like'%ADH00040%';