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
Lena Zheng
Asked: 2024-01-10 08:28:25 +0800 CST

Coluna da próxima data comercial

  • 5

Eu tenho um conjunto de dados parecido com este.

amostra de conjunto de dados

Onde business_dayindica se transaction_created_dateé dia útil ou não. Estou tentando somar line_amountpara que os valores ocorridos durante o feriado ou fim de semana sejam adicionados ao próximo dia útil para ficar assim:

saída

Essencialmente, se eu conseguir capturar o próximo dia útil, business_day = 0posso simplesmente fazer uma soma sobre a partição.

sum
  • 1 respostas
  • 15 Views
Martin Hope
Student
Asked: 2024-01-10 05:20:36 +0800 CST

Pasta PostgreSQL 16 pg_wal vs pg_wal\archive_status

  • 5

Isto é para PostgreSQL 16 no Windows.

Ativei o archive_mode com archive_command = 'copy "%p" "C:\PostgreSQL\16\data\pg_wal\archive_status\%f"' e archive_timeout em 3600

Executado select pg_switch_wal(); algumas vezes (ALTER SYSTEM SWITCH LOGFILE da Oracle ??)

Agora tenho arquivos de 16 MB gerados na pasta pg_wal. Também tenho arquivos na pasta pg_wal\archive_status. Alguns dos arquivos são semelhantes em pg_wal e pg_wal\archive_status. Alguns dos arquivos em pg_wal\archive_status, por exemplo, 00000001000000000000007A com tamanho de 16 MB e 00000001000000000000007A.done com tamanho de 0 KB.

Estou tentando entender tudo isso. Vindo da Oracle, entendo os logs de arquivo e os logs de redo. Achei que os arquivos em pg_wal são redologs e os arquivos em pg_wal\archive_status são logs arquivados? E quando executo select pg_switch_wal(); , estou trocando os logs de redo e os logs antigos são arquivados?

Minha pergunta agora é

  1. o que é 0000000100000000000007A vs 0000000100000000000007A.done na pasta pg_wal\archive_status?
  2. Além disso, quando eu executo o pg_basebackup, ele excluirá automaticamente todos os logs arquivados dos quais foi feito backup?

Obrigado

postgresql
  • 1 respostas
  • 39 Views
Martin Hope
hcm
Asked: 2024-01-10 02:25:12 +0800 CST

Instância de banco de dados usando metade dos núcleos de CPU disponíveis

  • 11

Estou olhando para o seguinte cenário:

  • MSSQL Server 2019 Padrão em execução no Windows Server 2016.
  • sys.dm_os_schedulers mostra 12 núcleos lógicos de CPU disponíveis.
  • Esses 12 núcleos são divididos entre 2 soquetes.
  • Mesmo estando em 2 soquetes, eles parecem estar no mesmo nó NUMA (o servidor é virtualizado pelo VMWare) (saída coreinfo):
*-----------  Physical Processor 0
-*----------  Physical Processor 1
--*---------  Physical Processor 2
---*--------  Physical Processor 3
----*-------  Physical Processor 4
-----*------  Physical Processor 5
------*-----  Physical Processor 6
-------*----  Physical Processor 7
--------*---  Physical Processor 8
---------*--  Physical Processor 9
----------*-  Physical Processor 10
-----------*  Physical Processor 11

Logical Processor to Socket Map:
******------  Socket 0
------******  Socket 1

Logical Processor to NUMA Node Map:
************  NUMA Node 0
  • Não há afinidades configuradas.
  • O servidor está hospedando várias instâncias.
  • MAXDOP está definido como 6 para todas as instâncias.

Mas ainda assim um sintoma que estou vendo é que quando a instância 1 está executando um conjunto intensivo de consultas, a CPU está rodando em 50%, núcleos únicos estão usando 100%/muito pouca CPU, alternando: diagrama

Embora isso por si só esteja bom, naquele momento há a instância 2 que de repente apresenta um desempenho terrível e está até perdendo a conexão com o banco de dados.

Alguém tem uma idéia ou uma dica de onde procurar para restringir ainda mais esse problema? Fique à vontade para solicitar qualquer informação que precisar. :-)


edições: configuração do vSphere para @ErikDarling:

configuração do vsphere

saída do log de erros:

2023-09-05 23:15:51.95 Server      Microsoft SQL Server 2019 (RTM-CU22) (KB5027702) - 15.0.4322.2 (X64) 
    Jul 27 2023 18:11:00 
    Copyright (C) 2019 Microsoft Corporation
    Standard Edition (64-bit) on Windows Server 2016 Standard 10.0 <X64> (Build 14393: ) (Hypervisor)

2023-09-05 23:15:51.95 Server      UTC adjustment: 2:00
2023-09-05 23:15:51.95 Server      (c) Microsoft Corporation.
2023-09-05 23:15:51.95 Server      All rights reserved.
2023-09-05 23:15:51.95 Server      Server process ID is 4852.
2023-09-05 23:15:51.95 Server      System Manufacturer: 'VMware, Inc.', System Model: 'VMware7,1'.
2023-09-05 23:15:51.95 Server      Authentication mode is MIXED.
2023-09-05 23:15:51.95 Server      Logging SQL Server messages in file 'D:\MSSQL15.MSSQLSERVER\MSSQL\Log\ERRORLOG'.
2023-09-05 23:15:51.95 Server      The service account is 'NT Service\MSSQLSERVER'. This is an informational message; no user action is required.
2023-09-05 23:15:51.95 Server      Registry startup parameters: 
     -d D:\MSSQL15.MSSQLSERVER\MSSQL\DATA\master.mdf
     -e D:\MSSQL15.MSSQLSERVER\MSSQL\Log\ERRORLOG
     -l D:\MSSQL15.MSSQLSERVER\MSSQL\DATA\mastlog.ldf
2023-09-05 23:15:51.95 Server      Command Line Startup Parameters:
     -s "MSSQLSERVER"
2023-09-05 23:15:53.75 Server      SQL Server detected 2 sockets with 6 cores per socket and 6 logical processors per socket, 12 total logical processors; using 12 logical processors based on SQL Server licensing. This is an informational message; no user action is required.
2023-09-05 23:15:53.75 Server      SQL Server is starting at normal priority base (=7). This is an informational message only. No user action is required.
2023-09-05 23:15:53.76 Server      Detected 92159 MB of RAM. This is an informational message; no user action is required.
2023-09-05 23:15:53.76 Server      Using conventional memory in the memory manager.
2023-09-05 23:15:53.76 Server      Page exclusion bitmap is enabled.
2023-09-05 23:15:53.87 Server      Buffer Pool: Allocating 4194304 bytes for 2621440 hashPages.
2023-09-05 23:15:54.03 Server      Default collation: Latin1_General_CI_AS (us_english 1033)
2023-09-05 23:15:54.03 Server      Automatic soft-NUMA was enabled because SQL Server has detected hardware NUMA nodes with greater than 8 physical cores.
2023-09-05 23:15:54.15 Server      Buffer pool extension is already disabled. No action is necessary.
2023-09-05 23:15:54.32 Server      Query Store settings initialized with enabled = 1, 
2023-09-05 23:15:54.33 Server      The maximum number of dedicated administrator connections for this instance is '1'
2023-09-05 23:15:54.33 Server      This instance of SQL Server last reported using a process ID of 4524 at 05.09.2023 23:15:29 (local) 05.09.2023 21:15:29 (UTC). This is an informational message only; no user action is required.
2023-09-05 23:15:54.34 Server      Node configuration: node 0: CPU mask: 0x000000000000003f:0 Active CPU mask: 0x000000000000003f:0. This message provides a description of the NUMA configuration for this computer. This is an informational message only. No user action is required.
2023-09-05 23:15:54.34 Server      Node configuration: node 1: CPU mask: 0x0000000000000fc0:0 Active CPU mask: 0x0000000000000fc0:0. This message provides a description of the NUMA configuration for this computer. This is an informational message only. No user action is required.
2023-09-05 23:15:54.37 Server      Using dynamic lock allocation.  Initial allocation of 2500 Lock blocks and 5000 Lock Owner blocks per node.  This is an informational message only.  No user action is required.
2023-09-05 23:15:54.38 Server      In-Memory OLTP initialized on standard machine.
2023-09-05 23:15:54.40 Server      [INFO] Created Extended Events session 'hkenginexesession'
2023-09-05 23:15:54.40 Server      Database Instant File Initialization: disabled. For security and performance considerations see the topic 'Database Instant File Initialization' in SQL Server Books Online. This is an informational message only. No user action is required.
2023-09-05 23:15:54.40 Server      Total Log Writer threads: 3. This is an informational message; no user action is required.
2023-09-05 23:15:54.43 Server      clwb is selected for pmem flush operation.
2023-09-05 23:15:54.45 Server      CLR version v4.0.30319 loaded.

sys.dm_os_schedulers:

scheduler_address   parent_node_id  scheduler_id    cpu_id  status  is_online   is_idle preemptive_switches_count   context_switches_count  idle_switches_count current_tasks_count runnable_tasks_count    current_workers_count   active_workers_count    work_queue_count    pending_disk_io_count   load_factor yield_count last_timer_activity failed_to_create_worker active_worker_address   memory_object_address   task_memory_object_address  quantum_length_us   total_cpu_usage_ms  total_cpu_idle_capped_ms    total_scheduler_delay_ms    ideal_workers_limit
0x0000025918220040  0   0   0   VISIBLE ONLINE  1   1   1153043 16864086    133496581   4   0   9   4   0   0   4   285671940   10880995620 0   0x00000259186BC160  0x000002591804E040  0x0000025918050040  4000    0   0   7283681 57
0x0000025918240040  0   1   1   VISIBLE ONLINE  1   1   1447172 19240663    140078602   5   0   10  4   0   0   4   301808773   10880994760 0   0x00000259183A8160  0x0000025918058040  0x000002591805A040  4000    0   0   7212441 58
0x0000025918260040  0   2   2   VISIBLE ONLINE  1   0   214859549   566109938   1285209060  4   1   9   4   0   0   6   -1417541559 10880995669 0   0x0000026F4AD94160  0x0000025918060040  0x0000025918062040  4000    0   0   32962149    55
0x0000025918480040  0   3   3   VISIBLE ONLINE  1   1   183703151   539137658   1240154119  3   0   9   3   0   0   3   -1502852373 10880995416 0   0x000002591850E160  0x0000025918068040  0x000002591806A040  4000    0   0   37429531    56
0x00000259184A0040  0   4   4   VISIBLE ONLINE  1   1   9690121 55468504    372230585   5   0   10  5   0   0   4   807572752   10880995541 0   0x0000025918580160  0x0000025918070040  0x0000025918072040  4000    0   0   14392226    56
0x00000259184C0040  0   5   5   VISIBLE ONLINE  1   1   86901162    272690595   959567522   4   0   11  3   0   0   2   2129958437  10880995650 0   0x0000026BFFCBE160  0x0000025918078040  0x000002591807A040  4000    0   0   24265549    57
0x00000259184E0040  0   1048578 0   HIDDEN ONLINE   1   0   10806   0   2405    1   0   1   1   0   0   1   2078088 10880994401 0   0x00000259186B6160  0x00000259186B0040  0x00000259186B2040  4000    0   0   0   2
0x0000025918C20040  1   6   6   VISIBLE ONLINE  1   1   14364691    48529713    395946180   4   0   9   3   0   0   2   862720484   10880993363 0   0x00000268144D2160  0x0000025918620040  0x0000025918622040  4000    0   0   14308350    57
0x0000025918C40040  1   7   7   VISIBLE ONLINE  1   1   981117  15276400    106523681   4   0   8   3   0   0   3   225092127   10880995322 0   0x0000025918E02160  0x0000025918628040  0x000002591862A040  4000    0   0   6992313 57
0x0000025918C60040  1   8   8   VISIBLE ONLINE  1   1   278403126   713103290   1467283639  2   0   8   2   0   0   1   -1025444988 10880995657 0   0x00000267DA07C160  0x0000025918630040  0x0000025918632040  4000    0   0   37662853    55
0x0000025918F00040  1   9   9   VISIBLE ONLINE  1   1   12156863    43687653    376792761   3   0   8   3   0   0   2   821501532   10880993419 0   0x0000026882FAC160  0x0000025918638040  0x000002591863A040  4000    0   0   12790071    56
0x0000025918F20040  1   10  10  VISIBLE ONLINE  1   1   183639496   503573475   1376124782  2   0   7   2   0   0   1   -1243539994 10880995250 0   0x00000268A8E1C160  0x0000025918640040  0x0000025918642040  4000    0   0   30034933    55
0x0000025918F40040  1   11  11  VISIBLE ONLINE  1   1   10686428    37944165    326803213   5   0   9   4   0   0   3   712439435   10880986711 0   0x0000025B1CADA160  0x0000025918648040  0x000002591864A040  4000    0   0   12708950    57
0x0000025918F60040  1   1048579 6   HIDDEN ONLINE   1   0   0   0   2215    1   0   1   1   0   0   1   2048291 10880993266 0   0x0000025919104160  0x000002591867E040  0x0000025919100040  4000    0   0   0   2
0x00000259191A0040  64  1048576 0   VISIBLE ONLINE (DAC)    1   1   4   9   12095   2   0   3   1   0   0   0   12102   10880209924 0   0x00000259186BA160  0x0000025919122040  0x0000025919124040  4000    0   0   0   5
0x000002591F9A0040  0   1048580 1   HIDDEN ONLINE   1   1   0   0   100614190   1   0   1   1   0   0   1   200151374   10880995666 0   0x000002591F96E160  0x000002591F968040  0x000002591F96A040  4000    0   0   0   2
0x000002591F980040  1   1048581 7   HIDDEN ONLINE   1   1   0   0   761882074   1   0   1   1   0   0   1   1210023305  10880995572 0   0x000002591F976160  0x000002591F970040  0x000002591F972040  4000    0   0   0   2
0x000002591F9C0040  1   1048582 8   HIDDEN ONLINE   1   1   0   0   755215122   1   0   1   1   0   0   1   1199890707  10880995666 0   0x000002591F97E160  0x000002591F978040  0x000002591F97A040  4000    0   0   0   2
0x000002591F9E0040  1   1048583 9   HIDDEN ONLINE   1   1   0   0   749447107   1   0   1   1   0   0   1   1191192769  10880995666 0   0x000002591FB80160  0x000002591F67C040  0x000002591F67A040  4000    0   0   0   2
0x0000025920320040  0   1048584 2   HIDDEN ONLINE   1   1   6   0   12128   1   0   1   1   0   0   1   12189   10880901314 0   0x0000025921A1E160  0x0000025921A18040  0x0000025921A1A040  4000    0   0   0   2
0x0000025920340040  0   1048585 3   HIDDEN ONLINE   1   1   2   0   12123   1   0   1   1   0   0   1   12179   10880901330 0   0x0000025921A32160  0x0000025921A2E040  0x0000025921A2C040  4000    0   0   0   2
0x0000025920240040  0   1048586 4   HIDDEN ONLINE   1   1   565500  0   2766233 1   0   1   1   0   0   1   5482068 10880994369 0   0x0000025924210160  0x000002592420A040  0x000002592420C040  4000    0   0   0   2
0x00000259285C0040  0   1048587 5   HIDDEN ONLINE   1   1   2972    0   3393964 0   0   1   0   0   0   0   6777584 10880866350 0   0x000002594F878160  0x000002594F860040  0x000002594F868040  4000    0   0   0   1
0x00000259285E0040  0   1048588 0   HIDDEN ONLINE   1   1   985 0   881850  0   0   1   0   0   0   0   1751250 10880866350 0   0x000002596012A160  0x000002594F87A040  0x000002594F87C040  4000    0   0   0   1
0x0000025960420040  1   1048589 10  HIDDEN ONLINE   1   1   1883    0   1831914 0   0   1   0   0   0   0   3652749 10880866350 0   0x0000025A85804160  0x0000025A85850040  0x0000025A85876040  4000    0   0   0   1
0x0000025960400040  1   1048590 11  HIDDEN ONLINE   1   1   2129    0   1854492 0   0   1   0   0   0   0   3698022 10880566076 0   0x0000025A85812160  0x0000025A85808040  0x0000025A85810040  4000    0   0   0   1
0x0000025A715A0040  0   1048591 1   HIDDEN ONLINE   1   1   2858    0   2369960 0   0   1   0   0   0   0   4730473 10880866319 0   0x00000259D154A160  0x0000025A46240040  0x0000025A46242040  4000    0   0   0   1
0x00000259283C0040  0   1048592 2   HIDDEN ONLINE   1   1   1431    0   1262788 0   0   1   0   0   0   0   2514230 10880176213 0   0x0000025A84230160  0x0000025A84264040  0x0000025A84244040  4000    0   0   0   1
0x000002596A680040  0   1048593 3   HIDDEN ONLINE   1   1   2599    0   2576020 0   0   1   0   0   0   0   5141377 10880866319 0   0x0000025A7982C160  0x0000025A79826040  0x0000025A79828040  4000    0   0   0   1
0x00000259283E0040  0   1048594 4   HIDDEN ONLINE   1   1   2634    0   2455946 0   0   1   0   0   0   0   4901224 10880176229 0   0x0000025A8426C160  0x0000025A8424A040  0x0000025A8426A040  4000    0   0   0   1
0x000002596A6A0040  0   1048595 5   HIDDEN ONLINE   1   1   2801    0   2731176 0   0   1   0   0   0   0   5451858 10880866335 0   0x0000025A79834160  0x0000025A7982E040  0x0000025A79830040  4000    0   0   0   1
0x000002592E8C0040  1   1048596 6   HIDDEN ONLINE   1   1   2416    0   2279872 0   0   1   0   0   0   0   4549033 10880176213 0   0x0000025A8298C160  0x0000025A829AA040  0x0000025A829A8040  4000    0   0   0   1
0x000002592E8A0040  1   1048597 7   HIDDEN ONLINE   1   1   3045    0   2940803 0   0   1   0   0   0   0   5871356 10880866319 0   0x00000259D13D6160  0x0000025A864FE040  0x00000259D13D2040  4000    0   0   0   1
0x000002595F9A0040  0   1048598 0   HIDDEN ONLINE   1   1   1173    0   1000858 0   0   1   0   0   0   0   1990374 10880866319 0   0x00000259D0E64160  0x0000025A84BFE040  0x00000259D0E52040  4000    0   0   0   1
0x00000259C0E80040  1   1048599 8   HIDDEN ONLINE   1   1   2070    0   2225588 0   0   1   0   0   0   0   4440225 10880814028 0   0x0000025A830BA160  0x0000025A830F4040  0x0000025A830B6040  4000    0   0   0   1
0x00000259C0EA0040  1   1048600 9   HIDDEN ONLINE   1   1   2337    0   2287844 0   0   1   0   0   0   0   4564136 10880866335 0   0x0000025A830D2160  0x0000025A830C2040  0x0000025A830C4040  4000    0   0   0   1
0x0000025A715C0040  0   1048601 1   HIDDEN ONLINE   1   1   2939    0   3071534 0   0   1   0   0   0   0   6134000 10880866319 0   0x0000025A47534160  0x00000259D1544040  0x00000259D1548040  4000    0   0   0   1
0x0000025A715E0040  0   1048602 2   HIDDEN ONLINE   1   1   2093    0   2161732 0   0   1   0   0   0   0   4312590 10880176229 0   0x0000025A4751E160  0x0000025A4751A040  0x0000025A47500040  4000    0   0   0   1
0x00000259240E0040  0   1048603 3   HIDDEN ONLINE   1   1   1518    0   1618964 0   0   1   0   0   0   0   3226729 10880866319 0   0x0000025A79FC2160  0x0000025A47508040  0x0000025A4752A040  4000    0   0   0   1
0x000002592E8E0040  1   1048604 10  HIDDEN ONLINE   1   1   1897    0   1558224 0   0   1   0   0   0   0   3105359 10880866319 0   0x00000259D13F6160  0x00000259D13E0040  0x00000259D13EA040  4000    0   0   0   1
0x0000025926DC0040  0   1048605 4   HIDDEN ONLINE   1   1   1875    0   2196012 0   0   1   0   0   0   0   4380991 10880176213 0   0x0000025A74E1C160  0x0000025A74E2E040  0x0000025A74E0A040  4000    0   0   0   1
0x0000025A86580040  1   1048606 11  HIDDEN ONLINE   1   1   1189    0   984507  0   0   1   0   0   0   0   1957588 10880566076 0   0x00000259D14C6160  0x00000259D14E2040  0x00000259D14F6040  4000    0   0   0   1
0x000002592A640040  1   1048607 6   HIDDEN ONLINE   1   1   1882    0   1544327 0   0   1   0   0   0   0   3077654 10880866319 0   0x0000025A82A42160  0x0000025A82A2C040  0x0000025A82A3A040  4000    0   0   0   1
0x0000025926DE0040  0   1048608 5   HIDDEN ONLINE   1   1   1308    0   1039508 0   0   1   0   0   0   0   2067713 10880814028 0   0x0000025A74E7E160  0x0000025A74E04040  0x0000025A74E02040  4000    0   0   0   1
0x000002595F9C0040  0   1048609 0   HIDDEN ONLINE   1   1   2829    0   2412064 0   0   1   0   0   0   0   4813658 10880866319 0   0x00000259D0E7C160  0x00000259D0E3A040  0x00000259D0E2E040  4000    0   0   0   1
0x000002595F9E0040  0   1048610 1   HIDDEN ONLINE   1   1   2379    0   2192673 0   0   1   0   0   0   0   4375512 10880866335 0   0x0000025A856EE160  0x00000259D0E42040  0x0000025A85690040  4000    0   0   0   1
0x0000025960440040  1   1048611 7   HIDDEN ONLINE   1   1   1386    0   1352646 0   0   1   0   0   0   0   2693439 10880866319 0   0x0000025A85842160  0x0000025A85854040  0x0000025A85858040  4000    0   0   0   1
0x0000025A86600040  0   1048612 2   HIDDEN ONLINE   1   1   3015    0   2869906 0   0   1   0   0   0   0   5729329 10880176229 0   0x0000025A6D2CE160  0x0000025A6D2F4040  0x0000025A6D2A8040  4000    0   0   0   1
0x0000025960460040  1   1048613 8   HIDDEN ONLINE   1   1   1610    0   1571447 0   0   1   0   0   0   0   3131717 10880866335 0   0x0000025A85862160  0x0000025A85864040  0x0000025A8584A040  4000    0   0   0   1
0x000002592A620040  1   1048614 9   HIDDEN ONLINE   1   1   3448    0   3469913 0   0   1   0   0   0   0   6929661 10880176213 0   0x0000025A82A4E160  0x0000025A82A46040  0x0000025A82A48040  4000    0   0   0   1
0x0000025A86620040  0   1048615 3   HIDDEN ONLINE   1   1   3332    0   3070622 0   0   1   0   0   0   0   6130958 10880176213 0   0x0000025A6D298160  0x0000025A6D2BC040  0x0000025A6D2E6040  4000    0   0   0   1
0x0000025A86700040  0   1048616 4   HIDDEN ONLINE   1   1   2185    0   1890908 0   0   1   0   0   0   0   3770898 10880866335 0   0x0000025A856E4160  0x0000025A856F0040  0x0000025A85686040  4000    0   0   0   1
0x0000025A86680040  1   1048617 10  HIDDEN ONLINE   1   1   2   0   15639   0   0   1   0   0   0   0   19194   10880884265 0   0x0000025A861F4160  0x0000025A861B8040  0x0000025A861EC040  4000    0   0   0   1
0x0000025A866A0040  1   1048618 11  HIDDEN ONLINE   1   1   3   0   14081   0   0   1   0   0   0   0   16078   10880884202 0   0x00000259D07F2160  0x0000025A861FE040  0x00000259D0668040  4000    0   0   0   1

sys.dm_os_nodes:

node_id node_state_desc memory_object_address   memory_clerk_address    io_completion_worker_address    memory_node_id  cpu_affinity_mask   online_scheduler_count  idle_scheduler_count    active_worker_count avg_load_balance    timer_task_affinity_mask    permanent_task_affinity_mask    resource_monitor_state  online_scheduler_mask   processor_group cpu_count
0   ONLINE  0x0000025918032040  0x000002591802A640  0x0000025918600160  0   63  6   6   23  3   45  60  1   63  0   6
1   ONLINE  0x0000025918604040  0x000002591802AD90  0x0000025919080160  0   4032    6   6   16  1   64  0   1   4032    0   6
64  ONLINE DAC  0x0000025919106040  0x000002591802B4E0  0x00000259186B8160  64  0   1   1   1   0   0   0   0   63  0   6

configurações de sistema:

configuration_id    name    value   minimum maximum value_in_use    description is_dynamic  is_advanced
1535    affinity mask   0   -2147483648 2147483647  0   affinity mask   1   1

Tracestatus DBCC: Nenhuma tabela é impressa, então presumo que isso prova que nenhum rastreamento está em execução.

sql-server
  • 1 respostas
  • 905 Views
Martin Hope
derteufelqwe
Asked: 2024-01-09 18:07:53 +0800 CST

Postgres filtra coluna timestamptz por data muito lenta (possivelmente índice não usado?)

  • 5

Eu tenho a seguinte tabela com 462541359 linhas.

create table "Prices"
(
    "Id"            bigint generated by default as identity
        constraint "PK_Prices"
            primary key,
    "Timestamp"     timestamp with time zone not null,
    "DieselPrice"   real                     not null,
    "E5Price"       real                     not null,
    "E10Price"      real                     not null,
    "DieselChanged" boolean                  not null,
    "E5Changed"     boolean                  not null,
    "E10Changed"    boolean                  not null,
    "StationId"     uuid                     not null
        constraint "FK_Prices_Stations_StationId"
            references "Stations"
            on delete cascade
);

alter table "Prices"
    owner to postgres;

create index "IX_Prices_DieselChanged"
    on "Prices" ("DieselChanged");

create index "IX_Prices_E10Changed"
    on "Prices" ("E10Changed");

create index "IX_Prices_E5Changed"
    on "Prices" ("E5Changed");

create index "IX_Prices_StationId"
    on "Prices" ("StationId");

create index "IX_Prices_Timestamp"
    on "Prices" ("Timestamp");

Reduzi minha consulta a isso (como um exemplo mínimo)

select
    count(*)
FROM "Prices"
where "StationId" = 'f38e56c1-e9ba-428f-adb0-bdefa428559b'
  and "Timestamp" >= '2023-01-07'

onde StationIdestá apenas um dos 17.000 IDs de estação.

Quando filtro esta tabela, obtenho um desempenho ruim (aproximadamente 8s) na execução inicial. Quando executo a consulta novamente, ela fica muito mais rápida (aproximadamente 300 ms). Quando altero a StationIdprimeira consulta fica lenta novamente.

Tentei analisar o desempenho usando EXPLAIN (ANALYZE, BUFFERS)e obtive o seguinte resultado

Aggregate  (cost=124159.66..124159.67 rows=1 width=8) (actual time=7734.619..7734.620 rows=1 loops=1)
  Buffers: shared read=38398
  ->  Bitmap Heap Scan on ""Prices""  (cost=358.69..124141.54 rows=7246 width=0) (actual time=6668.499..7732.704 rows=9678 loops=1)
        Recheck Cond: (""StationId"" = 'b07d169a-2856-4903-baee-d17e496ebfd0'::uuid)
        Filter: (""Timestamp"" >= '2023-01-07 00:00:00+00'::timestamp with time zone)
        Rows Removed by Filter: 28645
        Heap Blocks: exact=38323
        Buffers: shared read=38398
        ->  Bitmap Index Scan on ""IX_Prices_StationId""  (cost=0.00..356.88 rows=33107 width=0) (actual time=21.983..21.983 rows=38364 loops=1)"
              Index Cond: (""StationId"" = 'b07d169a-2856-4903-baee-d17e496ebfd0'::uuid)
              Buffers: shared read=34
Planning Time: 0.082 ms
JIT:
  Functions: 7
  Options: Inlining false, Optimization false, Expressions true, Deforming true
  Timing: Generation 0.296 ms, Inlining 0.000 ms, Optimization 0.196 ms, Emission 2.469 ms, Total 2.961 ms
Execution Time: 7734.984 ms

Pelo que li, o Bitmap Heap Scaníndice da Timestampcoluna está sendo usado apenas parcialmente e suspeito que essa seja a causa do baixo desempenho.

Qual pode ser a causa da lentidão inicial da consulta e como posso utilizar melhor os índices para acelerar a filtragem por data? E como posso garantir que manterei o desempenho do índice ao combinar meu filtro com mais filtros como E5Changed?

postgresql
  • 1 respostas
  • 43 Views
Martin Hope
Lennart - Slava Ukraini
Asked: 2024-01-08 19:37:01 +0800 CST

ADMIN_REVALIDATE_DB_OBJECTS sobre um cursor?

  • 5

Antes de perceber que existia um procedimento para revalidar objetos (SYSPROC.ADMIN_REVALIDATE_DB_OBJECTS), escrevi o meu próprio. Agora, tento substituí-lo pelo padrão, mas parece que a chamada para SYSPROC.ADMIN_REVALIDATE_DB_OBJECTS destrói o cursor sobre o qual estou fazendo o loop. Exemplo de procedimento antigo:

db2 -td@ +c "BEGIN FOR v AS c1 CURSOR FOR SELECT SCHEMANAME FROM NYA.VALIDATION_SCHEMAS DO CALL TOOLBOX.COMPILE_SCHEMA2(v.schemaname); END FOR; END @"
DB20000I  The SQL command completed successfully.

Exemplo usando ADMISN_REVALIDATE_DB_OBJECTS

db2 "CALL SYSPROC.ADMIN_REVALIDATE_DB_OBJECTS(object_schema=>'TMP')"
Return Status = 0
db2 "CALL SYSPROC.ADMIN_REVALIDATE_DB_OBJECTS(object_schema=>'TMP')"
Return Status = 0

Tentando usar isso em um loop sobre um cursor:

db2 -td@ +c "BEGIN FOR v AS c1 CURSOR FOR SELECT SCHEMANAME FROM NYA.VALIDATION_SCHEMAS DO CALL SYSPROC.ADMIN_REVALIDATE_DB_OBJECTS(object_schema=>v.schemaname); END FOR; END @"
DB21034E  The command was processed as an SQL statement because it was not a 
valid Command Line Processor command.  During SQL processing it returned:
SQL0501N  The cursor specified in a FETCH statement or CLOSE statement is not 
open or a cursor variable in a cursor scalar function reference is not open.  
SQLSTATE=24501

Observe que não ajuda conectar o esquema:

db2 -td@ +c "BEGIN FOR v AS c1 CURSOR FOR SELECT SCHEMANAME FROM NYA.VALIDATION_SCHEMAS DO CALL SYSPROC.ADMIN_REVALIDATE_DB_OBJECTS(object_schema=>'TMP')
[...]

também produz um erro. Tentei variações de loop sobre um cursor:

BEGIN
    DECLARE s VARCHAR(128);
    DECLARE v_at_end INTEGER default 0;
    DECLARE not_found CONDITION FOR SQLSTATE '02000';
    DECLARE C1 CURSOR for
        SELECT SCHEMANAME FROM NYA.VALIDATION_SCHEMAS;
    DECLARE CONTINUE HANDLER FOR not_found  SET v_at_end = 1 ;

    OPEN C1;
    fetch_loop:
    LOOP
        FETCH FROM C1 INTO s;
        IF v_at_end <>0 THEN LEAVE fetch_loop; END IF;
        CALL SYSPROC.ADMIN_REVALIDATE_DB_OBJECTS(object_schema=>s);
    END LOOP;
    CLOSE C1;
END
@

Mas também não funciona. Alguma pista, o que precisa ser feito para poder chamar ADMIN_REVALIDATE_DB_OBJECTS em um loop?

db2
  • 1 respostas
  • 25 Views
Martin Hope
stevanus billy
Asked: 2024-01-08 09:17:49 +0800 CST

Como usar transação em diferentes servidores SQL Server

  • 5
Esta questão foi migrada do Stack Overflow porque pode ser respondida no Stack Exchange de administradores de banco de dados. Migraram ontem .

Tenho mais de um servidor com banco de dados SQL Server. Quero fazer uma verificação begin transactionem ambos os bancos de dados para que, quando houver um erro, ele seja revertido automaticamente. Eu tentei servidores vinculados que foram testados para se conectarem entre si usando IP e podem selecionar entre servidores, incluindo atualização e exclusão, mas quando tento iniciar a transação ocorre um erro.

O provedor OLE DB "SQLNCLI11" para o servidor vinculado "nome" retornou a mensagem "Nenhuma transação está ativa".
A operação não pôde ser executada porque o provedor OLE DB "SQLNCLI11" para o servidor vinculado "nome" não pôde iniciar uma transação distribuída.

Procurei uma solução e fiz várias coisas, como alterar a promoção de transações de distribuição para falso, tentar garantir que os servidores estejam conectados entre si, reinstalar o driver do servidor vinculado. mas ainda não funciona, alguém sabe a causa dessa falha de conexão? Estou usando o SQL Server 2012 com sistema operacional Windows NT 6.2 e o SQL Server 2019 com Redhat 8.4.

Existe outra forma de realizar transações em servidores diferentes sem um servidor vinculado?

sql-server
  • 1 respostas
  • 41 Views
Martin Hope
DooDoo
Asked: 2024-01-07 23:05:59 +0800 CST

Crie um usuário que possa acessar todas as tabelas no Esquema1, mas apenas inserir uma tabela específica no Esquema2

  • 5

Por favor, considere este cenário: tenho 2 esquemas:SCHEMA1, SCHEMA2

Em cada esquema tenho algumas tabelas.

Eu tenho dois logins para cada esquema.

Quero criar um usuário que possa acessar (operação CRUD) em todas as tabelas do SCHEMA1, mas apenas inserir no SCHEMA2.Table1.

Como posso criar esse usuário?

Obrigado

sql-server
  • 1 respostas
  • 39 Views
Martin Hope
McNanners
Asked: 2024-01-07 03:03:27 +0800 CST

ERD 2ª Forma Normal

  • 5

Atualmente estou estudando uma unidade sobre desenvolvimento de banco de dados e estou em um módulo sobre normalização, acredito que este ERD completou a normalização da 2ª forma, pois cada tabela possui uma chave primária, todos os dados são atômicos e não há grupos repetidos, e Não acredito que haja qualquer dependência parcial de chave. Mas sou novo e meu entendimento ainda é fraco. Então, eu queria saber se alguém poderia dar uma olhada e me dizer o que pensa e, possivelmente, qualquer ajuda que eu agradeceria muito.

(Incluirei uma foto do ERD também, obrigado novamente)insira a descrição da imagem aqui

Editar: não tenho certeza se devo raspar a tabela PostCodeAndCity e incluir os dados da cidade na tabela de endereços, mas isso foi sugerido pelos meus materiais de estudo.

Edit2: Por ter criado uma conta para esta pergunta, não tenho reputação de votar positivamente em suas respostas, mas só queria agradecer a todos que dedicaram seu tempo para compartilhar seu conhecimento, eu realmente aprecio isso e ajudou ainda mais meu muito!

database-design
  • 3 respostas
  • 70 Views
Martin Hope
Henry
Asked: 2024-01-06 11:08:57 +0800 CST

Ao usar JSONb para uma hierarquia complexa de referências, é melhor juntar agregando os IDs no JSON ou ter uma tabela de relações adicional?

  • 5

Digamos que temos várias tabelas primárias em nosso banco de dados (a, bec) e depois outra (x) que armazena um objeto JSONb complexo e semiprevisível que possui referências a todas as tabelas primárias. No meu caso, o JSONb é mais ou menos assim:

{
  entries: [
    [
      [
        {table: 'a', id: '1'},
        {table: 'b', id: '4', entries: [
          {table: 'a', id: '3'},
          {table: 'a', id: '1'}
          ...
        ]},
        {table: 'c', id: '5', entries: [
          {table: 'a', id: '2'},
          {table: 'b', id: '4', entries: [
            {table: 'a', id: '1'},
            {table: 'a', id: '6'},
            ...
          ]},
          ...
        ]},
        ...
      ],
      ...
    ],
    ...
  ]
}

Ao selecionar registros da tabela xqueremos filtrar os resultados pelas propriedades das outras tabelas - por exemplo. apenas xregistros que contêm um aregistro que possui um campo contendo um valor enum específico.

É possível ou tem algum desempenho fazer isso em uma única consulta usando essa estrutura de dados JSONb? Parece que seria necessária uma agregação séria de IDs, e fazer isso para cada consulta parece muito trabalhoso.

A alternativa que estava considerando é manter o campo JSONb como está, mas também criar tabelas de junção (posso estar com o nome errado aí) para rastrear todas as xdependências de registros da tabela. Então você teria tabelas x_a, x_b, x_c, etc. e armazenaria apenas um único registro de junção exclusivo para cada ID a, b, ou c, que aparece no xregistro. Dessa forma, ao escrever as consultas, uma abordagem simples e não JSON poderia ser usada para fazer um filtro de junção regular.

Como um programador SQL iniciante a intermediário, isso parece que pelo menos levaria a um código mais legível, no entanto, não tenho certeza se isso conta como uma violação da regra "inserir os dados apenas uma vez".

Toda e qualquer contribuição é bem-vinda, incluindo material de leitura sobre como tomar essas decisões.

A linguagem é PostgresQl

postgresql
  • 1 respostas
  • 29 Views
Martin Hope
Nathan
Asked: 2024-01-06 05:22:41 +0800 CST

Índice exclusivo estranho no Oracle DB DDL

  • 5

Exportei o DDL da EMPLOYEEtabela em um banco de dados Oracle. O que é esse índice? Para quais colunas esse índice se destina?

CREATE UNIQUE INDEX "MY_USER"."SYS_IL0000126968C00005$$" ON "MY_USER"."EMPLOYEE" (
PCTFREE 10 INITRANS 2 MAXTRANS 255
STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
TABLESPACE "DATA"
PARALLEL (DEGREE 0 INSTANCES 0) ;

Esta consulta não mostra o índice acima. Como faço para consultar o índice exclusivo acima?

select
   TABLE_NAME,
   INDEX_NAME,
   UNIQUENESS,
   NUM_ROWS,
   CONSTRAINT_INDEX,
   OWNER,
   TABLE_OWNER
from
   SYS.ALL_INDEXES;
oracle
  • 1 respostas
  • 97 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