2009-12-18 5 views
0

J'ai une requête qui demande une déclaration sur laquelle une valeur calculée:Optimiser la requête SQL sur la valeur calculée?

select * from table where date(timestamp) = ? 

Une expliquer sur cette requête donne le type attendu ALL select, ce qui est idéal. En utilisant MySQL, quelle est la meilleure façon d'optimiser cela?

Répondre

3

Une autre option pourrait être de réécrire la requête de sorte que les calculs soient tous effectués de l'autre côté de l'équation. Par exemple:

timestamp >= <some date> AND timestamp < <some date + 1> 

Dans cette requête, «une date» serait minuit de cette date.

1
select * from table where timestamp = UNIX_TIMESTAMP('?');