J'ai une table de données d'adresse dans ma base de données SQL Server. Cette table n'est pas normalisée donc elle contient de nombreuses adresses qui sont répétées. Chaque adresse unique peut être identifiée par un champ Id (ces identifiants se répètent souvent dans le tableau).SQL Server Création Affichage Index qui contient distinct ou groupe par
J'ai donc créé une vue sur la table pour extraire toutes les adresses uniques, en utilisant Select Distinct (AddressId) de la table d'origine.
Maintenant, je voudrais créer un index sur cette vue pour augmenter la vitesse de recherche, mais SQL Server ne me permet pas de créer un index sur la vue car il contient un distinct ou un groupe (j'ai essayé à la fois voir si cela me permettrait de créer un index)
Quelqu'un a-t-il trouvé une solution? ou toutes les vues à un autre moyen de le faire.
J'ai besoin d'interroger cette vue en fonction des mots-clés d'adresse et de renvoyer ceux basés sur le nombre correspondant, j'ai cette requête en place que j'essaye de l'accélérer en indexant des champs dans la vue.
SQL Server 2008
SELECT
AddressId,
AddressNumber,
AddressName,
Town,
City,
Country,
COUNT_BIG(*) As AddCount--,
--TRIM(AddressNumber + ' ') + LTRIM(AddressName + ' ') + LTRIM(Town + ' ') + RTRIM(City + ' ') AS AddressLookup
FROM
[Address] A
GROUP BY
AddressId,
AddressNumber,
AddressName,
Town,
City,
Country
est ma requête ....
si je prends la colonne avec AddressLookup je peux ajouter les index
Vive
SQL Server ne permet 'GROUP BY dans les vues indexées. Quelle version êtes-vous? –