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 / user-8211

Andy's questions

Martin Hope
Andy
Asked: 2015-01-27 08:19:24 +0800 CST

Atualizando tabelas grandes (~ 6,5 milhões de linhas) e índices

  • 3

Estou tentando atualizar uma tabela com cerca de 6,5 milhões de linhas em um tempo razoável, mas estou tendo alguns problemas. Estamos adicionando uma nova coluna a uma tabela existente e, em seguida, definindo um valor para todas as linhas com base nos dados de uma coluna em outra tabela.

UPDATE  TOP (20000) c
SET     c.NewColumn = ISNULL(p.Col1, p.Col2)
FROM    dbo.Child c
    INNER JOIN dbo.Parent p on c.FKId = p.Id
WHERE   c.NewColumn IS NULL

em um loop, como este artigo . A atualização ainda estava em execução após 2,5 horas. Eu estou querendo saber se desabilitar os índices dbo.Childcausaria um impacto. NewColumn não tem índices, nem terá, mas existem outros índices (cerca de 5) emdbo.Child

O SQL Server é inteligente o suficiente para ver que não precisa atualizar os outros índices (já que eles não fazem parte do UPDATE), ou nos beneficiaríamos desabilitando temporariamente os índices enquanto fazemos as instruções de atualização?

Este é o SQL Server 2012, mas o banco de dados em questão está no modo de compatibilidade de 2008.

index sql-server-2012
  • 2 respostas
  • 7746 Views
Martin Hope
Andy
Asked: 2012-11-12 06:25:30 +0800 CST

Armazenando números de telefone - Design adequado

  • 6

Em primeiro lugar, não sou um DBA, sou um engenheiro de software e tenho construído aplicativos que são baseados em banco de dados durante toda a minha carreira. Uma das coisas de que me lembro (talvez incorretamente) é que, ao projetar o ERD, você leva em consideração o mundo real, pois serve como contexto para o seu design.

Tenho uma situação em que temos o conceito de cliente, que pode ter dois e apenas dois números de telefone. Um cliente também pode ter de zero a vários endereços, e cada endereço pode ter apenas dois números de telefone (e um sinalizador indicando se o número é um número de celular). Os números de um endereço seriam usados ​​apenas para entrar em contato com alguém naquele endereço específico, enquanto os números do cliente são usados ​​para entrar em contato com o cliente (cujo endereço pode não estar no sistema).

O design que criei foi ter um Phone1 Phone2 como colunas na tabela de clientes, bem como na tabela de endereços. Outros sugeriram que esse não é um bom design e que eu deveria ter criado uma tabela PhoneNumber (não tenho certeza de como eles estavam sugerindo que eu relacionasse os números com os outros registros).

Certamente, posso ver que isso também é válido, mas ainda preciso ter Phone1Id e Phone2Id na tabela de clientes e endereços ou ter algo na tabela Phone que me diga qual registro possui o número. O problema que tenho é que obviamente torna a lógica do aplicativo mais complexa, pois agora preciso adicionar, remover ou atualizar o registro na tabela de telefones em vez de apenas apagar ou anular o valor nas respectivas tabelas.

Meu design também é aceitável? É preferível um ou outro? Ou ambos são igualmente válidos?

database-design
  • 3 respostas
  • 3994 Views

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