Oracle文本URL索引性能

Oracle文本URL索引性能,oracle,text,indexing,Oracle,Text,Indexing,我有一个oracle表,它有两列—id和url 这个URL很简单 然后,我使用URL列上的URL数据存储创建oracle文本索引 如果我这样做: BEGIN ctx_ddl.sync_index(idx_name => 'MY_INDEX', memory => '50M', parallel_degree => 4); END; / 然后,如果我查看somemachi

我有一个oracle表,它有两列—id和url

这个URL很简单

然后,我使用URL列上的URL数据存储创建oracle文本索引

如果我这样做:

BEGIN
ctx_ddl.sync_index(idx_name        => 'MY_INDEX',
                   memory          => '50M',
                   parallel_degree => 4);
END;
/
然后,如果我查看somemachinename上的apache日志,我可以看到oracle依次请求所有URL

问题是oracle依次请求大约60个URL,然后停止15秒,然后再请求另60个URL

html页面中的数据量很小-小于3k,因此60个页面不应该填充任何缓冲区-即使是这样,也不应该花费15秒来清除它们

运行wireshark表明延迟肯定是由于请求的到达(而不是Web服务器的问题),因此我不知道Oracle在这15秒内做了什么

索引是一项巨大的工作(表有大约200万行),目前需要一周的时间,而没有del;我想这更像是几个小时

有什么想法吗?

“所以我不知道甲骨文在那15年代做了什么。” 您可以查看v$session上的等待/事件。可能是解析HTML,或者可能需要先将数据写入某个位置(临时表空间)


难道网络端没有任何东西将此视为某种攻击吗?

为什么要使用Oracle文本索引?URL看起来不像是您要搜索的内容,更像是整个URL。@Gandalf:数据不在数据库中,而是存储在单独的服务器中,并通过HTTP访问。在本例中,Oracle文本构建引用远程数据的本地索引。这允许您搜索HTML页面的部分内容(而不是URL:)