Прежде всего, вы должны учитывать, что индексы не всегда являются хорошей идеей .
Если Oracle будет читать большинство данных из таблицы, она будет использовать FULL TABLE SCAN, поскольку это быстрее, чем сначала чтение блоков индекса, а затем чтение блоков данных. Слишком много операций ввода-вывода.
Теперь вернемся к вашему вопросу.
Вы можете заставить Oracle использовать индекс, если хотите, предоставив подсказку:
/*+ INDEX(table_name index_name) */
Вы можете добавить его в свой запрос и проверить, что происходит с планом запроса, и сколько будет стоить новый план:
SELECT /*+ INDEX(tableA index_name) */ --replace 'index_name' with the name of your index
d.id,
'Status' "ImportStatus",
p.importid "ImportID",
macid,
p.daterequire "CreateDate",
p.dateimport "DateImPort",
TRANSLATE(p.accrequire USING NCHAR_CS) "CreateBy",
TRANSLATE(p.accimport USING NCHAR_CS) "AccImPort",
0 "isEdit",
employee,
deptid partner,
equipmentid
FROM
(
SELECT
id,
importid,
daterequire,
dateimport,
accrequire,
accimport,
subdeptid employee,
deptid
FROM
tableA
WHERE
estatus = 2
AND createdate BETWEEN to_timestamp('01/01/2019','dd/mm/yyyy') AND to_timestamp('12/02/2019','dd/mm/yyyy')
) p
INNER JOIN tableB d ON d.importid = p.id
Foxit PDF SDK 6.4 для текста извлечения поддержки iOS в цели C. Ниже пример кода.
- (BOOL)extractTextOfDoc:(FSPDFDoc *)doc toPath:(NSString *)path {
if (!doc || !path) {
return NO;
}
int nPage = [doc getPageCount];
if (nPage < 1) {
return NO;
}
NSFileManager *fileMgr = [[NSFileManager alloc] init];
[fileMgr createFileAtPath:path contents:nil attributes:nil];
NSFileHandle *outFile = [NSFileHandle fileHandleForWritingAtPath:path];
if (!outFile) {
return NO;
}
for (int i = 0; i < nPage; i++) {
FSPDFPage *page = [doc getPage:i];
[page startParse:FSPDFPageParsePageTextOnly pause:nil is_reparse:YES];
FSTextPage *textSelect = [[FSTextPage alloc] initWithPage:page flags:FSTextPageParseTextNormal];
if (!textSelect) {
continue;
}
NSString *fullText = [textSelect getChars:0 count:-1];
if (!fullText) {
continue;
}
[outFile writeData:[fullText dataUsingEncoding:NSUTF8StringEncoding]];
}
[outFile closeFile];
return YES;
}
можно запросить пробную версию в этой ссылке: https://developers.foxitsoftware.com/pdf-sdk/free-trial. Пробная версия появляется в zip-файл, код, который я имею выше, может быть найден в samples\function_demo\function_demo\PlatformAPIDemo.m.