AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • Início
  • system&network
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • Início
  • system&network
    • Recentes
    • Highest score
    • tags
  • Ubuntu
    • Recentes
    • Highest score
    • tags
  • Unix
    • Recentes
    • tags
  • DBA
    • Recentes
    • tags
  • Computer
    • Recentes
    • tags
  • Coding
    • Recentes
    • tags
Início / dba / Perguntas / 84593
Accepted
Reaces
Reaces
Asked: 2014-12-09 04:41:21 +0800 CST2014-12-09 04:41:21 +0800 CST 2014-12-09 04:41:21 +0800 CST

Reconstruções de índice ONLINE vs OFFLINE

  • 772

Estou procurando uma opinião, que sei que geralmente é desaprovada, então peço desculpas antecipadamente.

Atualmente, estou em um ambiente em que todas as instâncias são SQL Server Enterprise Edition. As tarefas de manutenção estão sendo executadas por um plano personalizado. Este plano, por padrão, faz uma reconstrução offline durante a noite.

Não há janelas de manutenção noturna e, como o ambiente é multinacional, nem sempre a parte "noturna" da manutenção significa o ponto de menor atividade (no entanto, significa em 95% dos casos). E há muitos trabalhos noturnos que estão lentos devido, em parte, à manutenção agressiva da indexação. (Uma consulta de relatório que ficou presa esperando a reconstrução do índice de uma tabela de 300 GB com dados do cliente me levou a esse caminho)

Posso assumir que o seguinte terá um impacto principalmente positivo:

  • Adicione um valor mínimo de fragmentação de 10% para reorganizar (atualmente feito todas as noites, independentemente de %)
  • Alterando os requisitos mínimos de reconstrução para 30% (atualmente em 5%)
  • Alterando o comportamento padrão para ONLINE
  • Alterando a contagem mínima de páginas para 1.000 (atualmente em 50)

Principalmente, o que estou perguntando aqui é se estou correto ao assumir que o cronograma de manutenção atual é muito agressivo. E que as 4 mudanças acima terão um efeito líquido positivo.

Estou mais preocupado em reorganizar tudo todas as noites para tudo... Isso parece excessivo.

sql-server fragmentation
  • 3 3 respostas
  • 6185 Views

3 respostas

  • Voted
  1. Best Answer
    Aaron Bertrand
    2014-12-09T06:33:55+08:002014-12-09T06:33:55+08:00

    Difícil para nós saber se será um líquido positivo. Estes são praticamente acéfalos:

    • configurando todas as operações para ONLINE, pois você pode
    • ignorando tabelas com < 1000 páginas

    Você ainda deve testá -los, no entanto.

    Mas não temos ideia do impacto que a desfragmentação/reconstrução tem em sua carga de trabalho de leitura e se esperar até que algum % seja melhor, não ganhe nada ou talvez até piore algumas consultas de leitura.

    Outras pessoas já aperfeiçoaram esse tipo de manutenção e tiraram você do jogo de adivinhação. Obtenha os scripts de Ola Hallengren ou nossa ferramenta, Fragmentation Manager . Você pode fazer alterações como está sugerindo simplesmente alterando os valores dos parâmetros. E não se esqueça de que essas pessoas já resolveram muitos bugs que você ainda não encontrou e pensaram em coisas que você ainda não pensou. E quando novas operações são oferecidas online em versões mais recentes, ou novas opções são adicionadas a diferentes recursos de manutenção, essas ferramentas e scripts serão atualizados para você. O que você fez é carinhosamente conhecido como reinventar a roda:

    • Re-Blog : O custo de reinventar a roda

    Recusar-se a mudar para uma solução mais automatizada por causa de investimentos no passado é como manter uma péssima governanta ou jardineiro porque você os pagou no ano passado. Às vezes você só precisa cortar o cordão.

    • 3
  2. Alocyte
    2014-12-09T05:13:50+08:002014-12-09T05:13:50+08:00

    Presumo que o banco de dados seja altamente transacional, para exigir reconstruções; e sendo internacional, acessado o tempo todo... então NA MINHA OPINIÃO deixe tudo como está, e mude para reconstruções ONLINE.

    Tudo o tempo todo - é um desperdício; mas não um choque de trem. Facilite na tarefa uma verificação de fragmentação - definindo-a um pouco menos agressivamente - 10% fragmentado e depois reorganizado; 20%, em seguida, reconstruir.

    Então você introduz apenas 2 mudanças, avalia e ajusta novamente. Dessa forma, você considera opcional em vez de TUDO O TEMPO TODO; e ONLINE para que você tenha acesso de pessoas.

    Como sugerido, confira o trabalho de Ola Hallengren. Exemplo brilhante de codificação... inspirador.

    Boa sorte!

    • 2
  3. user119732
    2017-03-15T22:24:06+08:002017-03-15T22:24:06+08:00

    As principais diferenças são:

    1. A reconstrução do índice OFFLINE é mais rápida que a reconstrução ONLINE.

    2. Espaço em disco extra necessário durante as reconstruções de índice online do SQL Server.

    3. Bloqueios do SQL Server adquiridos com recriações de índice online do SQL Server.

      Esse bloqueio de modificação de esquema bloqueia todos os outros acessos simultâneos à tabela, mas é mantido apenas por um período muito curto enquanto o índice antigo é descartado e as estatísticas atualizadas.

    • 0

relate perguntas

  • SQL Server - Como as páginas de dados são armazenadas ao usar um índice clusterizado

  • Preciso de índices separados para cada tipo de consulta ou um índice de várias colunas funcionará?

  • Quando devo usar uma restrição exclusiva em vez de um índice exclusivo?

  • Quais são as principais causas de deadlocks e podem ser evitadas?

  • Como determinar se um Índice é necessário ou necessário

Sidebar

Stats

  • Perguntas 205573
  • respostas 270741
  • best respostas 135370
  • utilizador 68524
  • Highest score
  • respostas
  • Marko Smith

    conectar ao servidor PostgreSQL: FATAL: nenhuma entrada pg_hba.conf para o host

    • 12 respostas
  • Marko Smith

    Como fazer a saída do sqlplus aparecer em uma linha?

    • 3 respostas
  • Marko Smith

    Selecione qual tem data máxima ou data mais recente

    • 3 respostas
  • Marko Smith

    Como faço para listar todos os esquemas no PostgreSQL?

    • 4 respostas
  • Marko Smith

    Listar todas as colunas de uma tabela especificada

    • 5 respostas
  • Marko Smith

    Como usar o sqlplus para se conectar a um banco de dados Oracle localizado em outro host sem modificar meu próprio tnsnames.ora

    • 4 respostas
  • Marko Smith

    Como você mysqldump tabela (s) específica (s)?

    • 4 respostas
  • Marko Smith

    Listar os privilégios do banco de dados usando o psql

    • 10 respostas
  • Marko Smith

    Como inserir valores em uma tabela de uma consulta de seleção no PostgreSQL?

    • 4 respostas
  • Marko Smith

    Como faço para listar todos os bancos de dados e tabelas usando o psql?

    • 7 respostas
  • Martin Hope
    Jin conectar ao servidor PostgreSQL: FATAL: nenhuma entrada pg_hba.conf para o host 2014-12-02 02:54:58 +0800 CST
  • Martin Hope
    Stéphane Como faço para listar todos os esquemas no PostgreSQL? 2013-04-16 11:19:16 +0800 CST
  • Martin Hope
    Mike Walsh Por que o log de transações continua crescendo ou fica sem espaço? 2012-12-05 18:11:22 +0800 CST
  • Martin Hope
    Stephane Rolland Listar todas as colunas de uma tabela especificada 2012-08-14 04:44:44 +0800 CST
  • Martin Hope
    haxney O MySQL pode realizar consultas razoavelmente em bilhões de linhas? 2012-07-03 11:36:13 +0800 CST
  • Martin Hope
    qazwsx Como posso monitorar o andamento de uma importação de um arquivo .sql grande? 2012-05-03 08:54:41 +0800 CST
  • Martin Hope
    markdorison Como você mysqldump tabela (s) específica (s)? 2011-12-17 12:39:37 +0800 CST
  • Martin Hope
    Jonas Como posso cronometrar consultas SQL usando psql? 2011-06-04 02:22:54 +0800 CST
  • Martin Hope
    Jonas Como inserir valores em uma tabela de uma consulta de seleção no PostgreSQL? 2011-05-28 00:33:05 +0800 CST
  • Martin Hope
    Jonas Como faço para listar todos os bancos de dados e tabelas usando o psql? 2011-02-18 00:45:49 +0800 CST

Hot tag

sql-server mysql postgresql sql-server-2014 sql-server-2016 oracle sql-server-2008 database-design query-performance sql-server-2017

Explore

  • Início
  • Perguntas
    • Recentes
    • Highest score
  • tag
  • help

Footer

AskOverflow.Dev

About Us

  • About Us
  • Contact Us

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve