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 / 问题

All perguntas(dba)

Martin Hope
theonlynewts
Asked: 2024-03-08 00:53:38 +0800 CST

Adicionar sinalizador para registro relacionado ausente

  • 5
ID da pessoa Nome ID de incidente Papel MissingOffender
1 Tom 20 Vítima
2 Steve 20 Infrator
3 Susana 20 Infrator
4 John 21 Infrator
5 Conta 21 Vítima
6 Larry 22 Vítima S
7 Bert 23 Infrator

Tenho uma tabela que contém dados de diversos comportamentos e das pessoas envolvidas nesses incidentes. Os incidentes podem ter apenas um agressor, mas se há uma vítima, é necessário que haja um agressor. Gostaria de adicionar uma coluna à minha consulta (MissingOffender) que possa me dizer se uma vítima é "órfã", o que significa que não há agressor associado ao mesmo IncidentID.

Isso é possível? Não tenho certeza de como esse tipo de coisa é chamado no Google, então peço desculpas antecipadamente, mas obrigado por qualquer ajuda.

sql-server
  • 1 respostas
  • 36 Views
Martin Hope
threewordphrase
Asked: 2024-03-07 08:30:47 +0800 CST

Chave de fragmento composta do MongoDB, incluindo comportamento de gravação de carimbo de data/hora

  • 5

Estou investigando a adequação do MongoDB para o nosso caso de uso. Temos clientes que geram dados de log, e a maioria de nossos casos de uso para esse banco de dados envolve consultas por ID do cliente e um intervalo de tempo de quando o log foi gerado.

Estou ciente de que usar uma data e hora para uma chave de fragmento fará com que todas as gravações sejam enviadas para um único gravador. Se usarmos uma chave de fragmento composta de ID do cliente + data, meu entendimento está correto de que isso distribuirá gravações em N instâncias, onde N é o número de clientes exclusivos?

mongodb
  • 1 respostas
  • 8 Views
Martin Hope
MrZander
Asked: 2024-03-07 08:12:03 +0800 CST

SQL Server SUM na subconsulta causando estouro aritmético quando o SUM é menor que um int de 32 bits

  • 9

Eu tenho um banco de dados que Manifestcontém vários Inventoryitens. Cada item de inventário possui um número inteiro NetWeight.

Eu tenho a seguinte consulta:

SELECT 
    ID,
    (SELECT SUM(NetWeight) FROM Inventory WHERE Inventory.ManifestID = Manifest.ID)
FROM Manifest  

que está lançando uma exceção: Arithmetic overflow error converting expression to data type int.e não entendo o porquê.

Recentemente, a Inventorytabela excedeu o tamanho de um int se você SUM(NetWeight)não tiver filtro.
No entanto, sei e verifiquei que não existem Manifestvalores com valor superior a 100.000 para essa subconsulta.
Se eu anexar WHERE ID > 0ao final da consulta, tudo funcionará bem. Todos Manifestos IDs são maiores que 0, então isso é teoricamente equivalente a não ter nenhum filtro.

Eu sei que posso simplesmente convertê-lo para a biginte continuar meu dia, mas quero entender por que o SQL está transbordando.
Está somando internamente toda a tabela de inventário por algum motivo?

Qualquer visão seria muito apreciada.


Plano de consulta estimado: https://www.brentozar.com/pastetheplan/?id=BJETnFUpa

sql-server
  • 1 respostas
  • 73 Views
Martin Hope
CoachChris53
Asked: 2024-03-07 06:06:47 +0800 CST

Instrução SQL com múltiplas subconsultas (como campos separados no mesmo conjunto de registros)

  • 4

Estou tentando criar uma instrução SQL para um DataSet (no SSRS) que seleciona a soma de um campo - agrupado em diferentes intervalos de datas dentro da tabela - e os torna "campos" separados disponíveis para meu Tablix. Nem tenho certeza se é possível, mas pretendo fazer tudo isso em uma solução SQL, se possível. Então, meu exemplo é - 1 tabela que contém as datas e pagamentos efetuados. Preciso selecionar todos os registros dos últimos 3 anos e separá-los em 3 colunas de totais - por ano. Então, eu resumiria todos os registros de cada ano – como uma coluna.

Isso é possível?

Agradeço antecipadamente.

sql-server
  • 1 respostas
  • 20 Views
Martin Hope
Brunaldo
Asked: 2024-03-07 01:32:11 +0800 CST

Como gerar datas faltantes entre intervalos de datas que não existem na tabela unida no CockroachDB?

  • 5

Eu tenho a Tabela A e a Tabela A que têm

Table A
id, start_date, end_date

Table B
id, table_a_id, archive_date

Quero retornar as datas que estão faltando na Tabela B, as datas que NÃO estão no intervalo da tabela_a data_inicial e data_fim

Como posso fazer isso no cockroachdb?

Eu tentei usar generate_series mas recebo um erro de assinatura desconhecida, generate_series não leva (data, data, intervalo)

WITH date_series AS (
  SELECT generate_series(
    (SELECT w.export_start_date FROM table_a w WHERE w.id = 123),
    (SELECT w.export_end_date FROM table_a w WHERE w.id = 123),
    '1 day'::interval) AS missing_date
)
SELECT ds.missing_date
FROM date_series ds
LEFT JOIN table_b a ON a.table_a_id =  123
postgresql
  • 1 respostas
  • 25 Views
Martin Hope
lifeisajourney
Asked: 2024-03-06 23:37:51 +0800 CST

Consulta SQL para obter os produtos ativos durante um determinado período

  • 4

Eu tenho a seguinte tabela

Create table #products
(
productId int,
regionId int,
date datetime,
active bit
)

insert into #products values
(1,20,'10/10/2020',1),(1,20,'12/10/2022',0),(1,20,'5/8/2023',1),
(2,20,'11/11/2020',0),(2,20,'12/12/2022',1),(2,20,'5/8/2023',0),
(3,20,'10/10/2020',1),(3,20,'12/10/2022',0),(3,20,'5/8/2023',1)

Estou tentando descobrir quais produtos estavam ativos entre 1º de março de 2023 e 30 de março de 2023. Observando os dados fornecidos, apenas o ID do produto 2 estava ativo durante esse período. Como posso escrever uma consulta SQL para recuperar essas informações com precisão? Tentei algumas consultas, mas não estou obtendo os resultados esperados. Agradeço antecipadamente pelo seu tempo!

sql-server
  • 2 respostas
  • 36 Views
Martin Hope
AlexP012
Asked: 2024-03-06 18:27:11 +0800 CST

O paralelismo do Query Store é igual ao CX_Packet?

  • 5

Estou analisando as estatísticas de espera do armazenamento de consultas e obtendo um tipo de espera de paralelismo alto. Este é apenas um tipo de espera CX_packet renomeado?

Saúde

Alex

wait-types
  • 1 respostas
  • 20 Views
Martin Hope
questionto42
Asked: 2024-03-06 07:45:17 +0800 CST

odbc--chamada falhou. [Microsoft][ODBC SQL Server Driver][SQL Server]Um conflito de ordenação... no operador UNION ALL... não pode ser resolvido. (#451)

  • 5

I union allas colunas distintas das INFORMATION_SCHEMA.COLUMNSvisualizações de muitos bancos de dados que consulto com uma consulta direta:

insira a descrição da imagem aqui

select TABLE_CATALOG, TABLE_SCHEMA, TABLE_NAME, COLUMN_NAME from xyz
UNION ALL 
select TABLE_CATALOG, TABLE_SCHEMA, TABLE_NAME, COLUMN_NAME from bar
UNION ALL 
select TABLE_CATALOG, TABLE_SCHEMA, TABLE_NAME, COLUMN_NAME from foo

Meu objetivo é fazer um mapeamento rápido entre colunas antigas e novas e quaisquer outras colunas que tenham o mesmo nome, ou verificar colunas órfãs e duplicadas. Tendo o distinto TABLE_CATALOG, TABLE_SCHEMA, TABLE_NAME, COLUMN_NAMEde tudo em mãos e unindo-o ao column_name consigo mesmo, obtenho um mapeamento completo de cada coluna para qualquer outra entidade que você possa encontrar.

Tudo funciona bem até que eu também tenha union alluma tabela que não seja uma INFORMATION_SCHEMA.COLUMNSvisualização, mas uma mera tabela com seu próprio agrupamento na coluna que possui os column_names não dinâmicos nas linhas da field_namecoluna. Por isso preciso fazer as mesmas colunas manualmente, como se fosse uma INFORMATION_SCHEMA.COLUMNSview:

SELECT DISTINCT 'abc' AS TABLE_CATALOG, 'dbo' AS TABLE_SCHEMA, 'xyz' AS TABLE_NAME, [xyz].field_name AS COLUMN_NAME
FROM xyz
ORDER BY [xyz].field_name;

Como a consulta reúne a saída de muitos catálogos de bancos de dados, não posso apenas codificar em TSQL no SSMS, mas preciso fazer consultas externas de vários bancos de dados e union alla saída juntos. Eu utilizo o MS Access para isso, mas você também pode atingir esse objetivo com um aplicativo de console em C# no Visual Studio.

E como eu tenho essa consulta (visualização "xyz") que preciso construir manualmente, e como sua coluna field_name tem outro agrupamento além da COLUMN_NAMEcoluna da INFORMATION_SCHEMA.COLUMNSvisualização, o seguinte erro é gerado:

Mensagem de erro em alemão:

insira a descrição da imagem aqui

odbc--chamada falhou. [Microsoft][ODBC SQL Server Driver][SQL Server]Um conflito de classificação entre "SQL_Latin1_General_CP1_CI_AS" e "Latin1_General_CI_AS" no operador UNION ALL, no qual o 4-spalte da resposta SELECT foi adicionado, não pode ser usado. (#451)

Coloque em inglês com deepl:

odbc--chamada falhou. [Microsoft][ODBC SQL Server Driver][SQL Server]Um conflito de agrupamento entre "SQL_Latin1_General_CP1_CI_AS" e "Latin1_General_CI_AS" no operador UNION ALL que ocorre na coluna 4 da instrução SELECT não pode ser resolvido. (#451)

Em seguida, tentei com o agrupamento necessário, consulte Como obtenho algo como a visualização de metadados INFORMATION_SCHEMA.COLUMNS da própria visualização INFORMATION_SCHEMA.COLUMNS? , mas com Latin1_General_CI_ASmeu agrupamento padrão do banco de dados e, portanto, com o agrupamento correto, este erro é gerado:

insira a descrição da imagem aqui

A instrução SELECT inclui uma palavra reservada ou um nome de argumento com erros ortográficos ou ausentes, ou a pontuação está incorreta.

Tentei alterar os agrupamentos de outras maneiras antes e depois disso, e parece que o MS Acces não permite alterar o agrupamento em um SELECTcomando.

Como posso me livrar desse erro?

sql-server
  • 1 respostas
  • 30 Views
Martin Hope
Ludijak
Asked: 2024-03-05 20:27:20 +0800 CST

Movendo dados para uma nova tabela particionada

  • 5

Tenho uma tabela grande no SQL Server (cerca de 5,5 bilhões de linhas) e pretendo criar uma nova tabela particionada para esses dados, provavelmente por ano, com grupo de arquivos para cada ano para melhor gerenciamento. Esta é uma tabela de fatos com dados transacionais que são carregados diariamente (cerca de 7 milhões de linhas) e não são consultados com frequência e nunca são atualizados. Minha ideia era carregar dados em uma nova tabela e criar grupos de arquivos somente para leitura de dados anteriores.

A questão é qual seria a melhor maneira de carregar dados em uma nova tabela. Devo carregar na tabela heap e criar CCI ou criar CCI antes de carregar os dados? Há alguma outra consideração que devo fazer?

sql-server
  • 1 respostas
  • 44 Views
Martin Hope
Fran
Asked: 2024-03-05 20:24:25 +0800 CST

Revise o espaço liberado após DELETE no postgres

  • 5

Estou procurando ajuda prática para resolver problemas de espaço em disco em bancos de dados. Já visitei estas páginas:

  • Postgres: Recuperando Espaço
  • Tamanho atual de uma tabela PostgreSQL (vs espaço em disco usado)
  • https://stackoverflow.com/questions/41991380/whats-the-difference-between-pg-table-size-pg-relation-size-pg-total-relatio

No meu contexto ainda tenho algumas dúvidas: tenho um banco de dados com 100GB de espaço em disco. Uma tabela está relatando o uso de 73 GB de espaço de consulta:

select
    quote_ident(table_schema) || '.' || quote_ident(table_name),
    pg_size_pretty(pg_total_relation_size(quote_ident(table_schema) || '.' || quote_ident(table_name))) as disk_size
from
    information_schema.tables
where
    pg_total_relation_size(quote_ident(table_schema) || '.' || quote_ident(table_name)) > 100000
order by
    pg_total_relation_size(quote_ident(table_schema) || '.' || quote_ident(table_name)) desc;

Os desenvolvedores estão me dizendo que excluíram muitas linhas da tabela mencionada. Como posso verificar isso?

pg_total_relation_sizeretorna informações sobre o disco usado, VACUUM ANALYZEapenas o espaço livre disponível, mas não o espaço em disco. Assim pg_total_relation_sizeainda retornará o mesmo valor, certo?

No meu entendimento, se eu executar VACUUM ANALYZEele irá atualizar alguma referência no gerenciamento de espaço que o banco de dados pode usar para novas linhas. Existe alguma maneira prática de comparar o espaço em disco usado e o tamanho real da tabela? É possível com pgstattuple ou pg_freespacemap? Se sim, você poderia fornecer um exemplo de consulta?

Também encontrei algumas consultas verificando pg_catalog.pg_stat_all_tableso retorno da quantidade de n_dead_tupe n_live_tup. Depois de a, VACUUM ANALYZEeles seriam limpos, verificando assim o total de tuplas mortas após a VACUUM ANALYZEpara ver se o VACUUM FULLespaço livre não seria um bom indicador?

postgresql
  • 2 respostas
  • 56 Views
Prev
Próximo

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