Indexing ADS如何在选择查询中使用索引
我有一个.dbf文件,来自该公司的一个旧clipper程序,我在ADS 12评估中将它添加到数据字典中,并带有dbf(.ntx)的相关索引文件 这些字段是:Indexing ADS如何在选择查询中使用索引,indexing,dbf,advantage-database-server,clipper,Indexing,Dbf,Advantage Database Server,Clipper,我有一个.dbf文件,来自该公司的一个旧clipper程序,我在ADS 12评估中将它添加到数据字典中,并带有dbf(.ntx)的相关索引文件 这些字段是: 账户、类型、账单、账单、kwhr、金额、付款、当前、以前、外汇、fpca、pfcharge、需求、demandchg、退税、付款日期、虚拟、抽奖、能源、其他、pf、adj、日期账单、账单统计、插入、投标、计量、adj2、生命线、e_vat、w_税、添加_chg、重组、mtrr、高级 并包含300k+行 .dbf包含4个.ntx(索引)文件,
账户、类型、账单、账单、kwhr、金额、付款、当前、以前、外汇、fpca、pfcharge、需求、demandchg、退税、付款日期、虚拟、抽奖、能源、其他、pf、adj、日期账单、账单统计、插入、投标、计量、adj2、生命线、e_vat、w_税、添加_chg、重组、mtrr、高级
并包含300k+行
.dbf包含4个.ntx(索引)文件,其中一个具有表达式account+billmo
当我执行简单查询时:
从TABLE.DBF中选择*,其中account='000000…'和billmo='2016…'
大约需要16秒或更长时间。关于删除:
DELETE FROM TABLE.DBF,其中account='…'和billmo='…'
还是一样
我不知道如何在查询中使用索引(.ntx),我在谷歌上搜索过,并尝试过类似的方法
SELECT*FROM TABLE.DBF使用索引TABLE1,其中account='…'和billmo='…'
但是它不起作用。一些提示:
您好,我已经将关联的索引文件添加到表中,并且我也尝试了您建议的查询,使用
帐户+账单
仍然显示带有警告限制的表扫描未优化
。我试图用ARC32重新编制索引,但仍然是相同的警告。我无法迁移该表,因为此处的其他系统正在使用它。您是否在每列上尝试了单独的索引?正如我已经写过的:当索引未加载时,SQL引擎无法利用它(不是有意的双关语)。还是一样。我如何知道索引是否已加载?我已经把它加到桌子上了。恐怕我只能帮你了。你可能想在SAP论坛上发帖:嗨,我知道问题出在哪里了。当没有人使用桌子时,速度很快。旧系统使用的是表,当许多人使用它时,它开始变慢。如果没有人使用,我可以快速获取数据,但sql实用程序仍然说它不使用任何索引。我可以问一下您使用了什么TableType和DBFTableType吗?因为当表类型为NTX时,我实际上无法使用SQL实用程序,所以只能在ADT中使用。嗨,我已经将关联的索引文件添加到表中,并且我还尝试了您建议的使用ACCOUNT+BILLMO
的查询,但它仍然显示了警告限制未优化的表扫描。我试图用ARC32重新编制索引,但仍然是相同的警告。我无法迁移该表,因为此处的其他系统正在使用它。您是否在每列上尝试了单独的索引?正如我已经写过的:当索引未加载时,SQL引擎无法利用它(不是有意的双关语)。还是一样。我如何知道索引是否已加载?我已经把它加到桌子上了。恐怕我只能帮你了。你可能想在SAP论坛上发帖:嗨,我知道问题出在哪里了。当没有人使用桌子时,速度很快。旧系统使用的是表,当许多人使用它时,它开始变慢。如果没有人使用,我可以快速获取数据,但sql实用程序仍然说它不使用任何索引。我可以问一下您使用的是什么TableType和DBFTableType吗