J'ai une table avec une colonne InTime et une colonne OutTime.Indexer les performances nulles par rapport aux données fictives
Normalement, lorsque j'insère des données dans cette table, je définis l'InTime sur un DateTime et l'OutTime sur null. Lorsque les données sont supprimées, une valeur OutTime est définie.
Quand je reçois des données pour un moment donné, j'utiliser quelque chose comme:
where InTime < sometime and OutTime is > sometime or OutTime is null
Ma question est, en termes d'amélioration des performances des requêtes/index dois-je mettre une certaine valeur dans OutTime comme le max datetime et rendre le champ non nullable?
Alors ma question devient
where InTime < sometime and OutTime is > sometime
La base de données elle-même vous donnera la meilleure réponse à cette question. Utilisez EXPLAIN sur diverses requêtes et voyez quels index ils utilisent et comment ils exécutent le qery. –