SELECT
оператор базы данных очень медленный.Таблица базы данных содержит 95 000 записей.
У меня есть список индексов, и индекс TAG включен.Протестировано удаленное соединение с использованием VPN, поэтому я вижу медленные скорости.
SELECT *
FROM CONTACT
WHERE SUB_NR = 'LD96178117'
-> занимает 3 секунды.
SELECT TOP 50 CONTACT.*
FROM CONTACT
ORDER BY SUB_NR
-> занимает 142 секунды.
Secondвремя в том же AdoConnection запросы выполняются быстрее.
PROVIDER=VFPOLEDB.1;Data Source=X:\Projects\FoxPro\ElvyTest\ADMSEGJN.DBC;Collating Sequence=machine;SourceType=dbf;Deleted=Yes;Mode=ReadWrite|Share Deny None;Mode=Share Deny None;DELETED=True;CODEPAGE=1252;MVCOUNT=16384;ENGINEBEHAVIOR=90;TABLEVALIDATE=0;REFRESH=5;VARCHARMAPPING=False;ANSI=True;REPROCESS=5;OLE DB Services = 0;
SELECT TOP 50 CONTACT.*
FROM CONTACT
ORDER BY SUB_NR
Также проверено:
SET COLLATE TO "MACHINE"
или
SET COLLATE TO "GENERAL"
Открыл файл в FOXPRO 9.0 SP2 ATAGINFO () показывает:
TAGNAME: SUB_NR, TAGTYPE: REGULAR,
EXPRESSION: SUB_NR,FILTER, ORDER: ASCENDING, COLLATION: MACHINE
Похоже, VFPOLEDB.1 создает временный индекс в папке% TEMP%.
SYS (3054,12) Покажите в Foxpro, что Rushmore использует индекс соператор выбора
SELECT *
FROM CONTACT
WHERE SUB_NR = 'LD96178117'
Использование вкладки индекса Sub_nr для ускоренной оптимизации контакта с таблицей Уровень оптимизации Rushmore для контакта с таблицей: полный
SELECT TOP 50 *
FROM CONTACT
ORDER BY SUB_NR
Уровень оптимизации Rushmore для контакта с таблицей: отсутствует