這個where子句可以最佳化嗎?
P粉757640504
P粉757640504 2024-04-01 16:12:46
0
1
304

有人可以幫我解決這個問題嗎?我對以下功能有疑問;我可以為此創建一個虛擬專欄嗎?

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

全部回覆(1)
P粉166675898

一旦 WHERE 子句中的欄位以函數(在您的情況下為 date)包裝,MySQL 最佳化器將不會使用索引。

您的查詢可能會略有不同:

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) ;

嘗試讓我知道它是否更快。

熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!