Articles of optimization de requête

Prédicat non poussé dans la jointure gauche sur MSSQL

J'essaie d'optimiser une vue complexe, qui a été réduite à un problème simple. MSSQL se joint à deux tables, en partie sur un prédicat de requête principale. Le problème est que ce server n'utilise pas ce prédicat pour la table jointe tant qu'il n'est pas réellement joint et que le résultat est plus de données […]

La binding de parameters est-elle correctement implémentée dans la bibliothèque pymssql?

J'appelle la requête extrêmement simple du programme de Python utilisant la bibliothèque de pymsqsql. with self.conn.cursor() as cursor: cursor.execute('select extra_id from mytable where id = %d', id) extra_id = cursor.fetchone()[0] Notez que la binding de parameters est utilisée comme décrit dans la documentation pymssql . L'un des principaux objectives de la binding de parameters est […]

Requête vs requête – pourquoi celle-ci est plus rapide que l'autre?

J'ai les deux requêtes suivantes – l'original est le premier et le second est ma légère "mise à jour". Le premier prend près d'une seconde à courir et le second se termine avant que je puisse complètement retirer le doigt du button d'actualisation. Ma question: pourquoi? La seule différence entre le premier et le second […]

Optimiser la requête LINQ

J'ai un rapport qui montre les commands faites à un marchand déterminé, et cela fonctionnait bien jusqu'à ce que je devais append un filter pour le statut de paiement. Voici comment je construis la requête, filterr par filter: var queryOrder = context.Orders.Select(m=>m); if (viewModel.InitialDate.HasValue) queryOrder = queryOrder.Where(m => m.CreatedDate.Date >= viewModel.InitialDate.Value); (…) /* continues building […]

Comment optimiser une requête TSQL en utilisant un moment (aller chercher et append des données dans la même table)?

J'écris une procédure qui obtient toutes les parties et sous-parties d'une machine spécifique. Mais, il est possible qu'une sous-partie ait aussi des sous-parties et ainsi de suite. Au niveau supérieur, la pièce a un numéro de révision, après cela, je prends le numéro de révision maximum de la sous-partie, parce que je veux le dernier […]

Plusieurs spools de table (spools Eager) lors des insertions d'index

J'effectue une insertion simple de quelques centaines de lignes, par exemple: INSERT INTO Foo SELECT * FROM Bar La table a une poignée d'index secondaires. Avec ces index désactivés, la requête s'exécute presque instantanément. Avec les index secondaires activés, la requête prend quelques secondes pour s'exécuter, avec un coût de sous-tree relativement élevé. Le problème […]

Comment accélérer une requête avec des loops nestedes

J'ai cette requête qui marche mais c'est lent SELECT ID_NODE, — this case slows down the query!!! CASE WHEN (EXISTS (SELECT MV.ID_CHILD FROM MYVIEW MV INNER JOIN MYTABLE1 MT1 ON MT1.ID_NODE = MV.ID_CHILD WHERE MV.ID_PARENT = CA.ID_NODE AND ID_FATHER IS NOT NULL)) THEN 'Y' ELSE 'N' END AS HAVE_CHILDREN, OTHER_FIELDS FROM MYTABLE2 Mise à jour […]

Clés primaires composites en relation NM ou non?

Disons que nous avons 3 tables (en fait j'en ai 2 en ce moment, mais cet exemple pourrait mieux illustrer la pensée): [La personne] ID: int, key primaire Nom: nvarchar (xx) [Groupe] ID: int, key primaire Nom: nvarchar (xx) [Rôle] ID: int, key primaire Nom: nvarchar (xx) [PersonGroupRole] Person_ID: int, COMPOSITE PRIMAIRE OU NON? Group_ID: […]

Quelle est la différence entre "BETWEEN AND" et "> AND <=" sur datetime?

Chaque membre de notre équipe a sa propre méthode d'extraction des données entre les dates et nous avons deux methods courantes d'extraction des données: [DateTimeColumn] ENTRE @StartDate ET @EndDate [DateTimeColumn]> @StartDate AND [DateTimeColumn] <= @EndDate Quand utiliser / Différence "BETWEEN" et "> AND <=" sur datetime: SQL Query Optimization et lequel des deux est le […]

Comment optimiser le SQL 'XQuery'

J'ai une hiérarchie XML comme celle-ci dans une colonne de type XML d'une table avec 10.000 loggings- <Root> <Elem1> <Parent1> <Separator> <Child1/> </Separator> </Parent1> </Elem1> </Root> J'ai une requête comme celle-ci – DECLARE @Root VARCHAR(50) DECLARE @Entity VARCHAR(50) DECLARE @ParentNode VARCHAR(50) DECLARE @Separator VARCHAR(50) DECLARE @ChildNode VARCHAR(50) SET @Root = 'Root' SET @Entity = 'Elem1' […]