Supposons que nous ayons une table dénormalisée avec environ 80 colonnes, et qu'elle croisse au rythme de ~ 10 millions de lignes (environ 5 Go) par mois. Nous avons actuellement 3 1/2 ans de données (~ 400M lignes, ~ 200Go). Nous créons un index cluster pour mieux récupérer datatables de la table sur les colonnes […]
J'ai une table 'customertransactions' avec une colonne 'transactiondate' de type DateTime. Je vais l'interroger avec ce qui suit: SELECT SUM(balance) AS totalbal FROM customertransactions WHERE accountcode=? AND (MONTH(GETDATE())-MONTH(transactiondate)+12*(YEAR(GETDATE())-YEAR(transactiondate)))>= 3 … en passant évidemment un paramètre aseptisé pour 'accountcode'. Ma question est: comment puis-je créer un index pour optimiser cela? Merci.
Je crée une application de calendar en ligne (comme Google Agenda ou MS Outlook), et je ne sais pas comment stocker datatables pour accélérer la search des vues de base: quotidienne, hebdomadaire, mensuelle. Avant de marquer cela comme une copy, gardez à l'esprit que j'ai lu plusieurs fils ici et dans la plupart des cas, […]
J'ai créé un index pour aider une course de qry vraiment longue de 28 minutes plus rapidement et cela ne semble pas avoir aidé beaucoup. C'est l'index que j'ai créé USE [NLTR201212_test] GO CREATE NONCLUSTERED INDEX [Billys Index, sysname,] ON [dbo].[tblInsurance] ([TERM_REASON]) INCLUDE ([POLICY_NO],[IssueYear],[ISSUE_DATE],[LM_PLAN_CODE],[AMOUNT_INFORCE],[StatReserve],[StatReserveX],[DefPremReserve],[ExcessCashValue],[ExcessCashValueX],[STAT2_PUA_RES],[STAT2_OYT_RES],[StatOYTRes2X],[COMPANY_CODE],[PHASE_CODE],[SUB_PHASE_CODE],[ProdType]) GO C'est le premier index que j'ai créé, donc je ne […]
Dans mon projet actuel, certaines tables ont une colonne nommée "changed", qui indique si la ligne en cours a été modifiée depuis la dernière vérification. Toutes les instructions insert et update incluent cette colonne. Toutes les heures, j'exécute une tâche planifiée qui interroge toutes les lignes modifiées, fait des choses avec ces lignes, puis définit […]
Je suis en train de configurer une table SQL Server (t-SQL) contenant une colonne définie comme NVARCHAR(15) pouvant être sélectionnée dans une clause WHERE aide de l'instruction LIKE , comme NVARCHAR(15) : SELECT * FROM [table] WHERE [Name] LIKE @SearchName AND [other] = @something AND [etc] AND [etc] @SearchName – peut contenir des caractères generics […]
J'ai lu des index primaires, uniques, en cluster, etc. Mais j'ai besoin de le comprendre via un exemple. L'image ci-dessous représente la table aspnet_Users générée automatiquement à partir du panneau d'administration Web de SQL Server. Table des users ASP.NET générée automatiquement http://eggshelf.com/MfhTZ/capture.jpg Prenant ceci comme un model; Je vais créer une table personnalisée appelée Companies […]
J'ai créé ces deux index en fonction de la suggestion de l'assistant Index pour différents scénarios. Je me request s'ils sont identiques ou s'ils sont différents? Index (1): CREATE NONClustered Index [IX_Rec_RecoveryDate_RecoveryDateTypeKey_CaseId] ON [Rec].[RecoveryDate] ([RecoveryDateTypeKey], [CurrentFlag]) INCLUDE (CaseId) Index (2): CREATE NONClustered Index [IX_Rec_RecoveryDate_currentFlag] ON [Rec].[RecoveryDate] ([CurrentFlag]) INCLUDE (CaseId, RecoveryDateTypekey)
Est-il possible d'avoir des index sur les parties DateTime telles que DATEPART(YEAR, bp.[CreatedOn]) et DATEPART(MONTH, bp.[CreatedOn]) ? Par exemple, j'ai la requête T-SQL suivante: DECLARE @year AS INT = 2012; DECLARE @month AS INT = 8; SELECT bp.Title, bp.CreatedOn FROM BlogPosts bp WHERE (DATEPART(YEAR, bp.[CreatedOn]) = @year) AND (DATEPART(MONTH, bp.[CreatedOn]) = @month) ORDER BY bp.CreatedOn; […]
Eh bien, la question n'est pas vraiment "comment éviter" le sorting tel qu'il est requirejs par la logique métier, mais comment le faire en utilisant préliminaire index, et pas sur la route. J'ai un plan de requête: |–Sort(TOP 5, ORDER BY:([this_].[DateAdded] DESC)) |–Nested Loops(Inner Join, OUTER REFERENCES:([this_].[Id], [Expr1002]) OPTIMIZED WITH UNORDERED PREFETCH) |–Index Seek(OBJECT:([storm].[dbo].[Items].[IX_Items_ByLocationSorted] AS […]