我有一个远程大型机db2数据库,我在db2服务器上创建了昵称。
问题如下 -
当我运行查询
时 SELECT * FROM LNICKNAME.TABLE
- 它会运行,我可以获取所有列。
但如果我在查询下面运行,它从不给我任何输出并继续运行。
SELECT * FROM LNICKNAME.TABLE a where a.columnB = 'ADH00040';
从技术上讲,如果我添加任何where条件,它就无效。
答案 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%';