Articles of requête performance

Lot d'parsings de table complètes (environ 600) à cause d'une simple instruction IN

J'ai 2 CTE dans ma requête. À la fin de la requête, je les rejoins simplement et écris le résultat sur une page. Sur la page j'ai des options de filter ainsi quand j'ai des filters je dois mettre une instruction IN sortingviale à la fin de la requête. Quand je n'ai pas la condition […]

Le type de date est-il plus performant que datetime pour les requêtes sur de grands sets de données?

Je stocke les dates d'events du calendar, y compris les events récurrents. La table pourrait devenir énorme. La plupart de mes requêtes sont pour des plages d'un mois (c'est-à-dire où eventstart> = '1/1/2001' et eventstop <= '31/01/2001'), donc je ne me soucie pas tellement de time dans mes requêtes. Aurais-je de meilleures performances dans les […]

Convertir numéro à date dans SQL Server avec exception en fin de mois

J'ai une colonne INT dans ma table. Cette colonne stocke la date dans un format spécial. J'essaye de convertir cette colonne au type DATE. Par exemple, nous gardons '2016-03-14' comme 20160314 . L'exception est, pour le dernier de chaque mois, nous ne stockons pas le jour. Donc pour '2016-03-31' nous stockons 201603 et je dois […]

Récupération de X lignes à partir d'un CTE ordonné, TOP vs Range

Objectif: Vous voulez savoir quelles sont les performances les plus rapides / les meilleures lorsque vous essayez de récupérer un nombre fini de lignes de CTE déjà commandées. Exemple: Dire que j'ai un CTE (intentionnellement simplifié) qui ressemble à ceci, et je ne veux que les 5 premières lignes: WITH cte AS ( SELECT Id […]

SQL Server choisissant un plan d'exécution inefficace

J'ai une requête qui s'exécute dans certaines circonstances avec un plan d'exécution «trop simplifié» qui se révèle plutôt lent (3-5 secondes). La requête est: SELECT DISTINCT Salesperson.* FROM Salesperson INNER JOIN SalesOrder on Salesperson.Id = SalesOrder.SalespersonId INNER JOIN PrelimOrder on SalesOrder.Id = PrelimOrder.OrderId INNER JOIN PrelimOrderStatus on PrelimOrder.CurrentStatusId = PrelimOrderStatus.Id INNER JOIN PrelimOrderStatusType on PrelimOrderStatus.StatusTypeId […]

Conception de database problématique causant des problèmes de performance

Je suis en train de concevoir une application multi-module C # / SQL Server. Ma design consiste à contenir toutes les valeurs de search generics dans une table appelée KeyTypeValues . Cette table est liée à KeyTypes qui définit quel type de données c'est. Par exemple: oms.KeyTypes ———— Id INT NOT NULL IDENTITY(1,1) PRIMARY KEY […]

Recherche les lignes de la table A sans logging dans la table jointe B

J'ai deux tables appelées Employee (colonnes: Id, Name) et DataSource (colonnes: Id, EmployeeId, DataSourceName). Chaque employé peut être exporté vers zéro ou plusieurs sources de données et imaginer la situation suivante: Table des employés +—-+————-+ | Id | Name | +—-+————-+ | 1 | Ivan | | 2 | Adam | +—-+————-+ Table DataSource: +—-+———————————+ […]

SQL Server a cessé d'utiliser INDEX après le changement COLLATION

MISE À JOUR: La question a été réécrite, donc certains commentaires peuvent ne plus être pertinents. Après le changement du classment dans la table, nous avons des problèmes avec l'utilisation des index. Il y a eu beaucoup de scans. Le classment par défaut de la database est SQL_Latin1_General_CP1_CI_AS. Maintenant, jetons un coup d'oeil à l'exemple: […]

Amélioration des performances médiocres des requêtes SQL intermittentes

J'ai une requête T-SQL nestede complexe modérée, qui pour la plupart a de bonnes performances, sauf au début de chacune de mes périodes de paie de 2 semaines (où il y a less d'loggings à traiter!) La requête ralentit les ordres de grandeur Ralentissez. Puis, à un moment de la période bi-hebdomadaire, SQL Server (2008) […]

Distinct et Group By – performances de requête

Requête A SELECT Distinct ord_no FROM Orders ORDER BY ord_no Requête B SELECT ord_no FROM Orders GROUP BY ord_no ORDER BY ord_no Dans le tableau Commandes, ord_no est de type varchar et a un doublon. Ici, c'est une key composite avec une colonne d'identité. Puis-je savoir quelle requête est la meilleure? Comment pourrions-nous vérifier la […]