MySql使用物化视图
MySql使用物化视图
一、主要是用来处理复杂的查询,可以使用视图的形式定时执行数据,直接看下面的sql:
create materialized view mv_status_of_orders_standard COMMENT "订单数达标状态" DISTRIBUTED BY HASH(渠道ID) REFRESH ASYNC START("2023-08-23 20:00:00") EVERY(INTERVAL 6 HOUR) as SELECT now() 更新时间, a.ordersourceid AS 渠道ID, a.ordersourcename AS 渠道名, b.RealShopName AS 店铺名, a.OrderSourceContry AS 站点, COUNT(DISTINCT CASE WHEN a.SalesRefunds = 0 AND a.OrderCode != '' THEN a.OrderCode END) AS 订单数, CASE WHEN ( (COUNT(DISTINCT CASE WHEN a.SalesRefunds = 0 AND a.OrderCode != '' THEN a.OrderCode END)>=10 and a.OrderSourceContry = 'BR') or (COUNT(DISTINCT CASE WHEN a.SalesRefunds = 0 AND a.OrderCode != '' THEN a.OrderCode END)>=20 and a.OrderSourceContry = 'ID') or (COUNT(DISTINCT CASE WHEN a.SalesRefunds = 0 AND a.OrderCode != '' THEN a.OrderCode END)>=30 and a.OrderSourceContry = 'SG') or (COUNT(DISTINCT CASE WHEN a.SalesRefunds = 0 AND a.OrderCode != '' THEN a.OrderCode END)>=50 and a.OrderSourceContry = 'TW') or (COUNT(DISTINCT CASE WHEN a.SalesRefunds = 0 AND a.OrderCode != '' THEN a.OrderCode END)>=50 and a.OrderSourceContry = 'PH') or (COUNT(DISTINCT CASE WHEN a.SalesRefunds = 0 AND a.OrderCode != '' THEN a.OrderCode END)>=75 and a.OrderSourceContry = 'MY') or (COUNT(DISTINCT CASE WHEN a.SalesRefunds = 0 AND a.OrderCode != '' THEN a.OrderCode END)>=100 and a.OrderSourceContry = 'TH') or (COUNT(DISTINCT CASE WHEN a.SalesRefunds = 0 AND a.OrderCode != '' THEN a.OrderCode END)>=100 and a.OrderSourceContry = 'VN') ) THEN '达标' else '未达标' END AS '订单数达标状态' FROM zhcxkj_dw_bi.rb_report_ordersettlement a LEFT JOIN zhcxkj_dw_bi.rb_ordersource b ON a.Ordersourcename = b.Ordersourcename WHERE a.OrderSourceType = 97 AND a.PayTime >= DATE_ADD(date_FORMAT(now(), 'yyyy-MM-dd'),interval -30 day) and a.OrderSourceContry in ('BR','ID','SG','TW','PH','MY','TH','VN') GROUP BY a.ordersourceid, a.ordersourcename, b.RealShopName, a.OrderSourceContry
解释:上述sql是6小时执行一次物化视图。
谢谢学习!!!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?