Temos algum software como parte de um projeto maior escrito usando o ArcObjects via .NET. Este software migra e mescla dados de vários bancos de dados geográficos de arquivo em um esquema para um único banco de dados geográfico de arquivos em um esquema semelhante, mas diferente. Algumas etapas da migração envolvem a consulta de uma linha existente e a atualização com dados de uma tabela diferente. Isso pode ficar muito lento quando o geodatabase de destino é grande, por isso adicionei alguns índices de atributos de vários campos para melhorar o desempenho da consulta / atualização.
Existe uma maneira de confirmar que as consultas estão usando os novos índices de atributo e talvez como a consulta está sendo executada?
Acho que estou realmente procurando o equivalente a um plano de consulta - algo semelhante ao EXPLAIN PLAN
Oracle.
As consultas estão em um banco de dados geográfico de arquivos usando o ArcObjects diretamente (sem back-end RDBMS ou SQL).
fonte
is_size_fast?
método do Smallworld Magik , que retorna true se índices estiverem sendo usados, mas não consegui ver uma chamada equivalente do ArcObjects.Respostas:
O geodatabase de arquivo é o próprio formato de banco de dados da Esri, existe uma API que permite acessar dados sem ArcObjects, mas duvido que isso possa esclarecer seu dilema.
O uso de índices é automático, no nível do banco de dados, e não pode ser detectado ou afirmado, exceto pela pontualidade das funções que os utilizam.
Eu concordo com blah238. A única maneira de ter certeza é correr com e sem índices criados e comparar a diferença no tempo.
As opções 'únicas' e 'ascendentes' para a criação de um índice podem ter uma grande diferença, mas somente as usarão se tiver certeza absoluta de exclusividade e / ou ascensão, caso os dados não sejam adequados, o índice não será construído ou, se ele cria, provavelmente afeta o desempenho em vez de melhorar.
fonte