Administrateurs de bases de données

Q & R pour les professionnels de la base de données qui souhaitent améliorer leurs compétences en base de données et apprendre des autres dans la communauté


1
Déplacer temporairement une base de données SQL Server 2016 vers SQL Server 2017, puis revenir en arrière. C'est possible?
Si je prends une sauvegarde d'une base de données à partir d'une instance de SQL Server 2016, puis la restaure sur une instance de 2017 pour y travailler. Puis-je ensuite faire demi-tour et sauvegarder cette base de données à partir de l'instance 2017 et l'utiliser pour écraser la version d'origine …

1
Estimation de la cardinalité des prédicats de l'aire de répartition couvrant partiellement
En ce moment, j'essaie de comprendre comment SQL Server évalue la cardinalité des prédicats de plage qui couvrent partiellement l'étape d'histogramme. Sur Internet, à cardinality-estimation-for-and-intra-step-statistics-value, je suis tombé sur une question similaire et Paul White a donné une réponse plutôt intéressante. Selon la réponse de Paul, les formules d'estimation de …



2
L'affichage d'un plan d'exécution estimé génère des attentes CXPACKET, PAGELATCH_SH et LATCH_EX [ACCESS_METHODS_DATASET_PARENT]
J'exécute Microsoft SQL Server 2016 SP2-CU6 (13.0.5292.0) sur une machine virtuelle 4 vCPU avec max degree of parallelismdéfini sur 2et cost threshold for parallelismdéfini sur 50. Le matin, lorsque j'essaie d'afficher un plan d'exécution estimé pour une requête SELECT TOP 100 , je suis confronté à des attentes massives et …




3
Pourquoi la sélection de toutes les colonnes résultantes de cette requête est-elle plus rapide que la sélection de la colonne qui m'intéresse?
J'ai une requête dans laquelle l'utilisation select *non seulement fait beaucoup moins de lectures, mais utilise également beaucoup moins de temps processeur que l'utilisation select c.Foo. Voici la requête: select top 1000 c.ID from ATable a join BTable b on b.OrderKey = a.OrderKey and b.ClientId = a.ClientId join CTable c …

1
Pourquoi PostgreSQL choisit-il l'ordre de jointure le plus cher?
PostgreSQL utilisant les valeurs par défaut, plus default_statistics_target=1000 random_page_cost=1.5 Version PostgreSQL 10.4 on x86_64-pc-linux-musl, compiled by gcc (Alpine 6.4.0) 6.4.0, 64-bit J'ai aspiré et analysé. La requête est très simple: SELECT r.price FROM account_payer ap JOIN account_contract ac ON ap.id = ac.account_payer_id JOIN account_schedule "as" ON ac.id = "as".account_contract_id JOIN …

1
Les index compressés SQL Server restent-ils compressés lors de la reconstruction sans spécifier la compression des données?
Après avoir reconstruit leurs index SQL Server à l'aide de la compression de page ( ALTER INDEX IX1 REBUILD PARTITION = ALL WITH (DATA_COMPRESSION = PAGE)), les reconstructions suivantes (comme le font certains scripts de maintenance après un certain seuil de fragmentation) doivent-elles spécifier à nouveau la compression des données? …



2
Problème d'estimation de cardinalité sur la jointure interne
J'ai du mal à comprendre pourquoi l'estimation des lignes est si terriblement erronée, voici mon cas: Jointure simple - en utilisant SQL Server 2016 sp2 (même problème sur sp1), dbcompatiblity = 130. select Amount_TransactionCurrency_id, CurrencyShareds.id from CurrencyShareds INNER JOIN annexes ON Amount_TransactionCurrency_id = CurrencyShareds.Id option (QUERYTRACEON 3604, QUERYTRACEON 2363); SQL …

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.