Cette clause Where peut-elle être optimisée ?
P粉757640504
P粉757640504 2024-04-01 16:12:46
0
1
432

Quelqu'un peut-il m'aider à résoudre ce problème ? J'ai une question sur la fonctionnalité suivante : puis-je créer une colonne virtuelle pour celle-ci ?

select as1.col,as1.col2,as1.col3 from 
 analytics.adjusted_sale_velocity
 where 
      date(as1.created_datetime)=(
        select 
          max(
            date(created_datetime)
          )  
        from 
          analytics.adjusted_sale_velocity
      )

P粉757640504
P粉757640504

répondre à tous(1)
P粉166675898

Une fois que la colonne de la clause WHERE est enveloppée par une fonction (date dans votre cas), l'optimiseur MySQL n'utilisera pas l'index.

Votre requête peut être légèrement différente :

select as1.col,
       as1.col2,
       as1.col3 
from  adjusted_sale_velocity a
inner join ( select  max(created_datetime) as created_datetime   
             from adjusted_sale_velocity
            ) as max_dt on left(a.created_datetime,10) = left(max_dt.created_datetime,10) ;

Essayez et faites-moi savoir si c'est plus rapide.

Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal