Question

J'ai une table dans la base de données qui a 7k plus des enregistrements. J'ai une requête qui recherche un identifiant particulier dans cette table. (Cet identifiant est auto-incrémenté)

la requête est comme ceci - >

select id,date_time from table order by date_time DESC;

cette requête fera toute la recherche sur ces 7k + données ....... n’est pas là de toute façon avec laquelle je peux optimiser cette requête afin que la recherche ne soit faite que sur 500 ou 1000 enregistrements .... comme ceux-ci les enregistrements augmenteront de jour en jour et ma requête deviendra de plus en plus lourde. Toutes les suggestions ?????

Était-ce utile?

La solution

Je ne sais pas si je manque quelque chose ici, mais qu'est-ce qui ne va pas avec:

select id,date_time from table where id=?id order by date_time DESC;

et? id est le numéro de l'ID que vous recherchez ...

Et bien sûr, id devrait être un index primaire.

Autres conseils

Si id est unique (éventuellement votre clé primaire), vous n'avez pas besoin de rechercher par date_time et vous êtes assuré de ne récupérer qu'une seule ligne.

SELECT id, date_time FROM table WHERE id=<value>;

Si <=> n'est pas unique, vous utilisez toujours la même requête, mais vous devez également consulter les index, les autres contraintes et / ou la mise en cache en dehors de la base de données, si la requête devient trop lente.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top