J'ai une table comme ci-dessousproblème de performance dans une requête de sélection d'une seule table
Il peut y avoir plusieurs enregistrements par userId [même en millions]
Je index cluster sur la colonne Date et interroger cette table très fréquemment dans les plages de temps. La colonne 'Dirty' est non nulle et peut prendre soit 0 ou 1 seulement donc je n'ai pas d'index sur 'Dirty'
J'ai plusieurs millions d'enregistrements dans ce tableau et dans un cas particulier dans mon application j'ai besoin pour interroger cette table pour obtenir tous UserId qui ont au moins un enregistrement marqué sale.
J'ai essayé cette requête - select distinct (UserId) de UserLogs où sales = 1
J'ai 10 millions de disques au total, ce qui prend comme 10min à courir et je veux que cela fonctionne beaucoup plus vite que cela.
[je suis en mesure d'interroger ce tableau sur la colonne de date en moins d'une minute.]
Les commentaires/suggestions sont les bienvenus.
mon env 64bit, sybase15.0.3, Linux
merci pour la suggestion..je l'ai envisagé avant mais atm je regarde d'autres options possibles – Inv3r53