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-3296

Jeremy Holovacs's questions

Martin Hope
Jeremy Holovacs
Asked: 2020-08-06 05:08:54 +0800 CST

Faz sentido adicionar índices a uma tabela de índice columnstore clusterizado?

  • 9

A pergunta é semelhante a esta , mas a resposta não parece responder a esta pergunta.

Meu entendimento de uma tabela columnstore clusterizada (e, por favor, corrija-me se estiver errado) é que cada coluna é armazenada de alguma maneira fisicamente ordenada, o que implica que cada coluna já possui o que equivale a um índice clusterizado. Se fosse esse o caso, não faria muito sentido adicionar mais índices na tabela... ou faria? Talvez um índice composto?

Meu pensamento está correto sobre isso?

sql-server clustered-index
  • 2 respostas
  • 1830 Views
Martin Hope
Jeremy Holovacs
Asked: 2020-07-16 03:58:51 +0800 CST

Azure tempdb enchendo ao tentar converter uma tabela grande em columnstore... como mitigar?

  • 1

Eu tenho uma grande tabela de relatórios (aproximadamente 6 bilhões de linhas) ocupando aproximadamente 400 GB de armazenamento em um banco de dados sql do azure. Eu tenho tentado convertê-lo em uma tabela columnstore usando os seguintes comandos:

insert Logs(Message) values ('Creating SRR table...');
select top 0 * into temp.SRR from dbo.SRR (nolock);
create clustered columnstore index ix_SRR on temp.SRR with (online = off);
create index ix_SRR_JobId on temp.SRR (JobId);
insert Logs(Message) values('Populating SRR table...');
insert into temp.SRR with (tablock) select * from dbo.SRR (nolock);
insert Logs(Message) values ('Switching out SRR table...');
alter schema old transfer dbo.SRR;
alter schema dbo transfer temp.SRR;
insert Logs(Message) values ('SRR table converted.');
if (select count_big(*) from old.SRR (nolock)) = (select count_big(*) from dbo.SRR (nolock)) begin
    drop table old.SRR;
    insert Logs(Message) values('Deleted old SRR table.');
end else begin
    insert Logs(Message) values('Row counts between old.SRR and dbo.SRR do not match; retaining old.SRR.');
end

Isso funcionou para todas as nossas outras grandes tabelas de relatórios, mas esta (após boas 30 horas de tempo de DTU) falha consistentemente com a mensagem:

Msg 40544, Level 17, State 2, Line 195
The database 'tempdb' has reached its size quota. Partition or delete data, drop indexes, or consult the documentation for possible resolutions.

O que posso fazer para que isso funcione?

sql-server azure-sql-database
  • 1 respostas
  • 356 Views
Martin Hope
Jeremy Holovacs
Asked: 2018-01-11 11:08:25 +0800 CST

Faça um ID numérico não ordinal no PostgreSQL

  • 0

Se eu declarar uma coluna serialno PostgreSql, ela será incrementada automaticamente em uma sequência ordinal. O resultado final pode não ser contíguo devido a reversões e outros enfeites, mas é mais ou menos ordinal.

Eu tenho uma tabela de usuários onde os ids do usuário são definidos como seriale, portanto, são incrementados a partir de 1 ... mas prefiro que não sejam, pois parece pedir um ataque de número de sequência de algum tipo.

Existe uma maneira relativamente fácil e relativamente eficiente de criar um ID artificial automático no PostgreSQL de forma que os IDs sejam espaçados aleatoriamente e você não deve esperar que o ID 987654321 siga o ID 987654320?

postgresql primary-key
  • 2 respostas
  • 2040 Views
Martin Hope
Jeremy Holovacs
Asked: 2017-06-08 05:18:41 +0800 CST

Problemas do BCP: EOF inesperado encontrado no arquivo de dados do BCP

  • 4

Eu tenho uma tabela definida como tal:

CREATE TABLE [dbo].[IpMetadata](
    [StartIp] [bigint] NOT NULL,
    [EndIp] [bigint] NOT NULL,
    [CountryCode] [char](10) NOT NULL,
    [ProxyType] [varchar](50) NULL,
    [ProxyDescription] [varchar](50) NULL,
    [IspName] [varchar](100) NULL,
    [MobileCarrier] [varchar](50) NULL,
    [MobileCarrierCode] [varchar](50) NULL,
    [Latitude] [varchar](50) NULL,
    [Longitude] [varchar](50) NULL,
    [PostalCode] [varchar](50) NULL,
    [City] [varchar](50) NULL,
    [Region] [varchar](50) NULL,
    [Country] [varchar](50) NULL,
    [GmtOffset] [varchar](50) NULL,
    [SupportsDaylightSavings] [char](10) NULL,
    [MetroCode] [varchar](50) NULL,
    [AddressCount] [int] NOT NULL,
     CONSTRAINT [PK_IpMetadata] PRIMARY KEY CLUSTERED 
    (
        [StartIp] ASC,
        [EndIp] ASC
    )
)

Eu tenho um arquivo de amostragem codificado em UTF-8 (D:\data\ipsnip.csv) com linhas terminadas por CRLF delimitadas por tabulação para inserir nesta tabela assim:

#start-ip   end-ip  edge-two-letter-country proxy-type  proxy-description   isp-name    mobile-carrier  mobile-carrier-code edge-latitude   edge-longitude  edge-postal-code    edge-city   edge-region edge-country    edge-gmt-offset edge-in-dst edge-metro-code address-count
0   0   **                  0   0   0   0   reserved    *** *** +9999   n   -1  0
1   255 **                  0   0   0   0   reserved    *** *** +9999   n   -1  254
256 16777215    **                  0   0   0   0   reserved    *** *** +9999   n   -1  16776959
16777216    16777343    au                  0   -37.7596    145.134 3106    templestowe vic aus +1000   n   36211   127
16777344    16777407    au                  0   -37.7596    145.134 3106    templestowe vic aus +1000   n   36211   63
16777408    16777471    au                  0   -37.7596    145.134 3106    templestowe vic aus +1000   n   36211   63
16777472    16778239    cn          chinanet fujian province network        0   26.0786 119.298 350000  fuzhou  35  chn +800    n   156115  767
16778240    16779263    au          big red group       0   -37.8387    144.99  3141    south yarra vic aus +1000   n   36206   1023
16779264    16781311    cn          chinanet guangdong province network     0   30.6611 104.082 510000  guangzhou   44  chn +800    n   156196  2047
16781312    16785407    jp          i2ts inc.       0   35.6838 139.754 100-0001    tokyo   13  jpn +900    n   -1  4095

Eu corro o comando BCP assim:

bcp MyDatabase.dbo.IpMetadata in D:\data\ipsnip.csv -F2 -Slocalhost -n -T

Eu recebo uma resposta de volta assim:

Starting copy...
SQLState = S1000, NativeError = 0
Error = [Microsoft][ODBC Driver 11 for SQL Server]Unexpected EOF encountered in BCP data-file

BCP copy in failed

Eu tentei especificar explicitamente os terminadores de coluna e linha. Eu tentei usar definições de coluna unicode. Eu tentei mudar as extremidades da linha para LF em vez de CRLF. Eu tentei substituir os terminadores de campo por ponto e vírgula/pipas. Eu tentei -ne -N. Não sei mais o que tentar. Alguém pode ajudar?

sql-server bulk-insert
  • 2 respostas
  • 18879 Views
Martin Hope
Jeremy Holovacs
Asked: 2013-09-11 08:47:53 +0800 CST

Não é possível reduzir o log de transações [duplicado]

  • 1
Esta pergunta já tem respostas aqui :
Por que o log de transações continua crescendo ou fica sem espaço? (4 respostas)
Fechado há 7 anos .

Um pouco de cabeça aqui.

Eu tenho um banco de dados com menos de 1 GB de dados, mas um arquivo de log de 40 GB. Os logs de transação são copiados diariamente e não há muita atividade neste banco de dados; aproximadamente uma vez por semana, ele registra novas informações de folha de pagamento e, em seguida, regurgita esses dados para fins de relatório. O banco de dados está definido como Encolhimento Automático.

em execução sp_spaceused @updateusage = truefornece as seguintes informações:

database_name   database_size   unallocated space
PayrollImports  39412.06 MB 105.00 MB

reserved    data    index_size  unused
321728 KB   278640 KB   42816 KB    272 KB

a execução DBCC shrinkfile (N'PayrollImports_log', 1 , notruncate)produz o seguinte:

DbId    FileId  CurrentSize MinimumSize UsedPages   EstimatedPages
19  2   4991088 3456    4991088 3456

...a discrepância entre o UsedPagese o EstimatedPagesé confusa, mas continuo DBCC shrinkfile (N'PayrollImports_log', 1 , truncateonly)e obtenho:

DbId    FileId  CurrentSize MinimumSize UsedPages   EstimatedPages
19  2   4991088 3456    4991088 3456

Nada mudou neste ponto. O arquivo de log ainda tem 40 GB. Então eu acho que talvez eu tenha alguma transação em aberto. A execução dbcc opentrandeve verificar:

No active open transactions.
DBCC execution completed. If DBCC printed error messages, contact your system administrator.

Porcaria. Bem, talvez meus índices estejam fragmentados. Vou desfragmentá-los sp_msForEachTable 'DBCC indexdefrag([PayrollImports], ''?'')'e tentar encolher novamente:

DbId    FileId  CurrentSize MinimumSize UsedPages   EstimatedPages
19  2   4991088 3456    4991088 3456

Ainda nada mudou. Ok, que tal eu reindexar com sp_msForEachTable 'DBCC dbreindex([?])'?

DBCC execution completed. If DBCC printed error messages, contact your system administrator.
DBCC execution completed. If DBCC printed error messages, contact your system administrator.
DBCC execution completed. If DBCC printed error messages, contact your system administrator.
DBCC execution completed. If DBCC printed error messages, contact your system administrator.
DBCC execution completed. If DBCC printed error messages, contact your system administrator.
DBCC execution completed. If DBCC printed error messages, contact your system administrator.
DBCC execution completed. If DBCC printed error messages, contact your system administrator.
DBCC execution completed. If DBCC printed error messages, contact your system administrator.
DBCC execution completed. If DBCC printed error messages, contact your system administrator.
DBCC execution completed. If DBCC printed error messages, contact your system administrator.
DBCC execution completed. If DBCC printed error messages, contact your system administrator.

...e agora temos:

DbId    FileId  CurrentSize MinimumSize UsedPages   EstimatedPages
19  2   4991088 3456    4991088 3456

nenhuma mudança. Tudo bem, que tal sp_msForEachTable 'ALTER INDEX ALL ON [PayrollImports].[?] REBUILD WITH (FILLFACTOR = 10)'?

Imediatamente, isso falha com:

Cannot find the object "(One of my tables)" because it does not exist or you do not have permissions.

Huh? Está lá, tudo bem. Eu faço um select top 10 * from (My table)e sai vazio. Bem, isso não está certo. Esta é uma tabela de pesquisa que deve ter mais de 200 linhas. Isso é um problema de corrupção de dados, talvez? Coleto os dados do meu ambiente de desenvolvimento e os insiro novamente.

Mas estou sem ideias. Eu não posso encolher esta coisa. O que mais posso tentar? Por que minhas UsedPages são incrivelmente mais altas que minhas EstimatedPages? O que está acontecendo aqui?

sql-server sql-server-2005
  • 1 respostas
  • 1785 Views
Martin Hope
Jeremy Holovacs
Asked: 2013-05-30 11:14:15 +0800 CST

Criando o perfil de uma função PostgreSQL [duplicado]

  • 1
Esta pergunta já tem respostas aqui :
Plano de consulta Postgres de uma invocação de função escrita em plpgsql (2 respostas)
Fechado há 9 anos .

se eu usar

explain (analyze true, verbose true, costs true, buffers true)
select * from mystoredprocedurefunction(arg1, arg2);

Não recebo nenhuma informação sobre o que o servidor está realmente fazendo dentro do meu sp. Em vez disso, recebo 5 linhas descrevendo que invoquei uma função e que demorou muito. Como faço para examinar meu procedimento armazenado e ver o que está acontecendo? Eu tenho algo muito ineficiente ocorrendo.

postgresql pgadmin
  • 1 respostas
  • 3928 Views
Martin Hope
Jeremy Holovacs
Asked: 2013-02-25 08:21:19 +0800 CST

PostgreSQL 8.4: Como saber se uma linguagem procedural está instalada ou não?

  • 6

Eu tenho um programa de instalação que requer plpgsql para instalar procedimentos armazenados em um banco de dados PostgreSQL 8.4. Preciso ter certeza de que o idioma está instalado ou o aplicativo falhará. Não quero abandonar o idioma e adicioná-lo novamente, pois isso pode estragar algumas outras coisas.

Existe uma maneira de instalar o idioma "gentilmente"?
CREATE LANGUAGE IF NOT EXISTSnão parece ser válido.

postgresql functions
  • 1 respostas
  • 4808 Views
Martin Hope
Jeremy Holovacs
Asked: 2012-12-07 17:29:47 +0800 CST

Como faço para definir e obter variáveis ​​de banco de dados personalizadas?

  • 10

Usando PGAdmin III, posso clicar com o botão direito do mouse em um banco de dados, navegar até a Variablesguia e colocar uma propriedade nome-valor variável no próprio banco de dados. Existe uma maneira de personalizar estes? Eu vi uma application_namevariável, mas gostaria de ter uma application_versionvariável.

postgresql
  • 2 respostas
  • 10546 Views
Martin Hope
Jeremy Holovacs
Asked: 2012-12-07 09:02:48 +0800 CST

Como determinar o agrupamento de uma tabela no PostgreSQL?

  • 31

Eu quero fazer um script de verificação dos agrupamentos usados ​​em minhas tabelas no PostgreSQL, mas pesquisar no Google Postgresql detect collationnão está funcionando bem para mim, e a documentação não está tornando essa pesquisa fácil.

Alguém pode me dizer como eu verificaria isso?

postgresql collation
  • 2 respostas
  • 39249 Views
Martin Hope
Jeremy Holovacs
Asked: 2011-12-25 11:34:24 +0800 CST

Existe um meio de definir o proprietário de todos os objetos em um banco de dados PostgreSQL ao mesmo tempo?

  • 14

O Stack Overflow Q & A Modify OWNER em todas as tabelas simultaneamente no PostgreSQL descreve algumas maneiras bacanas de alterar a tabela e outros objetos para um usuário específico e funciona perfeitamente, no entanto, todas as sugestões parecem ignorar as funções que criei.

Existe uma maneira bastante fácil de redefinir o proprietário de TODOS os objetos no banco de dados, incluindo as funções? Fazer isso manualmente é altamente indesejável.

postgresql functions
  • 5 respostas
  • 19957 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