Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/77.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
我可以在SQL with DB2中使用with(index(xxx))吗_Sql_Indexing_Db2 - Fatal编程技术网

我可以在SQL with DB2中使用with(index(xxx))吗

我可以在SQL with DB2中使用with(index(xxx))吗,sql,indexing,db2,Sql,Indexing,Db2,我习惯于告诉我的sql语句我希望在MSSQL中使用哪个索引。但在DB2中,这似乎不起同样的作用 此语句在MSSQL中适用,但在Db2中不适用 SELECT ACT.COMPANY,ACT.ACCT_UNIT,ACT.ACTIVITY,ACT.ACTIVITY_GRP,ACT.ACCT_CATEGORY,ACT.TRAN_AMOUNT,ACT.DESCRIPTION as ACT_DESCRIPTION, AP.VENDOR,AP.INVOICE,AP.PO_NUMBER,AC.DESCRIPTI

我习惯于告诉我的sql语句我希望在MSSQL中使用哪个索引。但在DB2中,这似乎不起同样的作用

此语句在MSSQL中适用,但在Db2中不适用

SELECT ACT.COMPANY,ACT.ACCT_UNIT,ACT.ACTIVITY,ACT.ACTIVITY_GRP,ACT.ACCT_CATEGORY,ACT.TRAN_AMOUNT,ACT.DESCRIPTION as ACT_DESCRIPTION,
AP.VENDOR,AP.INVOICE,AP.PO_NUMBER,AC.DESCRIPTION as AC_DESCRIPTION
FROM
ACTRANS ACT WITH (INDEX(ATNSET12)),
APDISTRIB AP WITH (INDEX(APDSET9)), 
ACACTIVITY AC WITH (INDEX(ACVSET1))
WHERE
ACT.OBJ_ID = AP.ATN_OBJ_ID AND
ACT.ACTIVITY = AC.ACTIVITY AND
ACT.ACCT_CATEGORY != 'CAPEX'

谢谢

那么,选择索引或其他访问数据的方式应该是数据库系统的任务,而不是用户的任务。数据分布、数据库技术、可用资源(如内存和磁盘)可能会发生变化,但由于数据库系统正在制定最佳访问计划,因此您的查询仍应以最佳方式工作


如果您仍然认为这应该受到影响,那么:数据库配置参数或更好的特定于会话的环境设置、优化配置文件、维护统计信息的不同方式,…

上一个问题的可能重复是指选择性和/或提醒您当前/相关的StatIndex或任何其他提示不是标准SQL。此外,告诉数据库如何完成它的工作很少是一个好主意。并开始使用显式联接运算符,而不是where子句中过时的隐式联接