Maison  >  Questions et réponses  >  le corps du texte

Cette clause Where peut-elle être optimisée ?

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粉757640504P粉757640504182 Il y a quelques jours310

répondre à tous(1)je répondrai

  • P粉166675898

    P粉1666758982024-04-02 13:27:50

    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.

    répondre
    0
  • Annulerrépondre