Pergunta

Alguém sabe o que índices hipotético são usados ??para no sql server 2000? Eu tenho uma tabela com 15 + tais índices, mas não têm idéia do que eles foram criados para. eles podem abrandar exclusões / inserções?

Foi útil?

Solução

índices hipotéticos são normalmente criados quando você executar o Assistente de ajuste de índice, e são sugestões, em circunstâncias normais eles serão removidos se o assistente é executado OK.

Se alguns são à esquerda em torno eles podem causar alguns problemas, consulte este link para maneiras de removê-los .

Outras dicas

Não tenho certeza sobre 2000, mas em 2005 os índices hipotéticos e objetos de banco de dados são objetos gerais criados por DTA (Banco de Dados Tuning Advisor)

Você pode verificar se um índice é hipotético, executando esta consulta:

SELECT  *
FROM    sys.indexes
WHERE   is_hypothetical = 1

Se você tiver dado a informação boa afinação conselheiro sobre a qual basear a sua estratégia de indexação, então eu diria que confiar geralmente seus resultados, mas se você deve, naturalmente, examinar como ele alocou estes antes de confiar nele cegamente. Cada situação será diferente.

uma pesquisa no Google por "servidor sql índices hipotéticos" devolveu o artigo seguinte como o primeiro resultado. Citação:

índices hipotética e objetos de banco de dados, em geral, são simplesmente objetos criados por DTA (Banco de Dados Tuning Advisor)

índices hipotéticos são aqueles gerados pelo banco de dados Tuning Advisor. De um modo geral, tendo muitos índices não é uma grande idéia e você deve examinar seus planos de consulta para podar aqueles que não estão sendo usados.

De sys.indexes :

is_hypothetical     bit     

1 = Index is hypothetical and cannot be used directly as a data access path. 
    Hypothetical indexes hold column-level statistics.

0 = Index is not hypothetical.

Eles podem ser também criado manualmente com WITH STATISTICS_ONLY indocumentados:

CREATE TABLE tab(id INT PRIMARY KEY, i INT);

CREATE INDEX MyHypIndex ON tab(i) WITH STATISTICS_ONLY = 0;
/* 0 - withoud statistics -1 - generate statistics */

SELECT name, is_hypothetical
FROM sys.indexes
WHERE object_id = OBJECT_ID('tab');

db <> fiddle demonstração

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top