2008-12-15 5 views
1

J'ai une table qui a 8 millions d'enregistrements, avec de nombreux champs, y compris lat/valeurs longues, et il a un index sur les champs Lat/Long.Pourquoi SQL Server ne charge-t-il pas mon index en mémoire?

Je fais une requête pour trouver les enregistrements qui tombent dans un carré autour d'un point (pour affiner plus tard dans un cercle), qui est une sorte de:

SELECT Lat, Long de données OU (Lat ENTRE 1 ET 2) ET (Long entre 1 et 2).

Dans ma machine de développement, cela utilise l'index, et retourne dans environ 50ms (la première fois que je fais une requête pour un point spécifique).
Dans mon serveur de production, il utilise également l'index, mais il faut environ 2 à 4 secondes pour retourner la première requête, 10 ms pour les suivantes.

Dans ma machine dev, SQL Server prend 500 Mo de mémoire, sur mon serveur, environ 130 Mo.

Pour moi, la conclusion évidente est que, dans ma machine l'index est chargé en mémoire, et dans la production, il est sever pas ...

est mon hypothèse correcte? Que puis-je faire pour le réparer?

Ceci est SQL Express 2005 (la version gratuite) sur W2K3 dans les deux machines. La seule différence que je peux penser est que mon ordinateur est 32 bits, et le serveur est 64, mais je ne pense pas comment cela pourrait affecter le chargement de l'index en mémoire.

De plus, le serveur ne court pas en mémoire. Il a 2Gb mem physique, et une charge de livraison d'environ 500Mb, donc il y a beaucoup à faire.

Toutes les idées seront grandement appréciées! Merci!

Répondre

2

Quand je rencontre cette situation, il y a généralement deux choses que j'essaie, dans l'ordre suivant:

1 - statistiques de mise à jour sur cette table:

Mise à jour des données de Statistique

2 - Reconstruire l'index : (cliquez avec le bouton droit sur l'index dans SQL Server Management Studio et sélectionnez Reconstruire)

+0

MISE À JOUR STATISTIQUES ne fonctionne pas. Avant d'essayer de reconstruire l'index, j'ai essayé de "réorganiser" l'index, et cela a fonctionné parfaitement !! Merci beaucoup !! –

Questions connexes