Lors du profilage d'une base de données, je suis tombé sur une vue qui fait référence à certaines fonctions non déterministes qui sont accessibles 1000 à 2500 fois par minute pour chaque connexion dans le pool de cette application. Un simple SELECTde la vue donne le plan d'exécution suivant: Cela …
C'est une question simple pour laquelle je n'arrive pas à trouver la réponse. En termes de performances, si j'ai une WHEREclause telle que a=0 and b=0 and ... z=0, gagnerais-je des performances si je remplaçais cette condition par a+b+...+z=0? En d'autres termes, y a-t-il un gain de performances en remplaçant …
J'ai écrit une application avec un backend SQL Server qui collecte et stocke une très grande quantité d'enregistrements. J'ai calculé que, au sommet, le nombre moyen d'enregistrements se situe quelque part entre 3 et 4 milliards par jour (20 heures de fonctionnement). Ma solution initiale (avant de faire le calcul …
J'ai une instruction SQL UPDATE avec une clause "TOP (X)", et la ligne dans laquelle je mets à jour les valeurs contient environ 4 milliards de lignes. Lorsque j'utilise "TOP (10)", j'obtiens un plan d'exécution qui s'exécute presque instantanément, mais lorsque j'utilise "TOP (50)" ou plus, la requête ne se …
Il m'a été suggéré que l'utilisation d'instructions IF dans des lots t-SQL nuisait aux performances. J'essaie de trouver une confirmation ou de valider cette affirmation. J'utilise SQL Server 2005 et 2008. L'affirmation est qu'avec le lot suivant: - IF @parameter = 0 BEGIN SELECT ... something END ELSE BEGIN SELECT …
J'ai une table comme celle-ci: CREATE TABLE Updates ( UpdateId INT NOT NULL IDENTITY(1,1) PRIMARY KEY, ObjectId INT NOT NULL ) Suivi essentiellement des mises à jour des objets avec un ID croissant. Le consommateur de ce tableau sélectionnera un bloc de 100 ID d'objet distincts, classés par UpdateIdet à …
Je conçois généralement mes bases de données en suivant les règles suivantes: Personne d'autre que db_owner et sysadmin n'a accès aux tables de la base de données. Les rôles utilisateur sont contrôlés au niveau de la couche application. J'utilise généralement un rôle db pour accorder l'accès aux vues, aux procédures …
Étant donné le tableau de tas suivant avec 400 lignes numérotées de 1 à 400: DROP TABLE IF EXISTS dbo.N; GO SELECT SV.number INTO dbo.N FROM master.dbo.spt_values AS SV WHERE SV.[type] = N'P' AND SV.number BETWEEN 1 AND 400; et les paramètres suivants: SET NOCOUNT ON; SET STATISTICS IO, TIME …
J'ai une requête qui s'exécute beaucoup plus rapidement avec select top 100et beaucoup plus lentement sans top 100. Le nombre d'enregistrements retournés est de 0. Pourriez-vous expliquer la différence dans les plans de requête ou partager des liens où cette différence a été expliquée? La requête sans toptexte: SELECT --TOP …
Supposons que nous ayons une définition de table comme celle-ci: CREATE TABLE MyTab ( ID INT IDENTITY(1,1) CONSTRAINT PK_MyTab_ID PRIMARY KEY ,GroupByColumn NVARCHAR(10) NOT NULL ,WhereColumn DATETIME NULL ) Et un index non cluster filtré comme celui-ci: CREATE NONCLUSTERED INDEX IX_MyTab_GroupByColumn ON MyTab (GroupByColumn) WHERE (WhereColumn IS NULL) Pourquoi cet …
Nous avons une grande base de données, environ 1 To, exécutant SQL Server 2014 sur un serveur puissant. Tout a bien fonctionné pendant quelques années. Il y a environ 2 semaines, nous avons effectué une maintenance complète, qui comprenait: installer toutes les mises à jour logicielles; reconstruisez tous les index …
J'ai la requête ci-dessous: select databasename from somedb.dbo.bigtable l where databasename ='someval' and source <>'kt' and not exists(select 1 from dbo.smalltable c where c.source=l.source) La requête ci-dessus se termine en trois secondes. Si la requête ci-dessus renvoie une valeur, nous voulons que la procédure stockée EXIT, donc je l'ai réécrite …
Je vois constamment des gens disent que les indices ralentissent update, deleteet insert. Ceci est utilisé comme une instruction générale, comme s'il s'agissait d'un absolu. Tout en ajustant ma base de données pour améliorer les performances, je continue de rencontrer cette situation qui semble contredire logiquement cette règle pour moi, …
J'ai deux requêtes presque identiques exécutées sur la même instance SQL Server 2005: La première est la SELECTrequête d' origine générée par LINQ (je sais, je sais ... je ne suis pas le développeur de l'application, juste le DBA :). Le second est exactement le même que le premier, a …
Quelle est la manière la plus efficace de récupérer des plages de dates avec une structure de table comme celle-ci? create table SomeDateTable ( id int identity(1, 1) not null, StartDate datetime not null, EndDate datetime not null ) go Disons que vous voulez une plage pour StartDateet EndDate. En …
We use cookies and other tracking technologies to improve your browsing experience on our website,
to show you personalized content and targeted ads, to analyze our website traffic,
and to understand where our visitors are coming from.
By continuing, you consent to our use of cookies and other tracking technologies and
affirm you're at least 16 years old or have consent from a parent or guardian.