Mysql
 sql >> Database >  >> RDS >> Mysql

Come ottimizzare le viste MySQL

Se è possibile rimuovere quei join, rimuoverli. Sostituirli con le sottoquery accelererà molto.

potresti anche provare a eseguire qualcosa del genere per vedere se ha qualche differenza di velocità.

select [stuff] from orders as ord 
left join (
  create view calc_order_status as
  select ord.id AS order_id,
  (sum(itm.items * itm.item_price) + ord.delivery_cost) AS total_total
  from orders ord 
  left join order_items itm on itm.order_id = ord.id
  group by ord.id
) as ors on (ors.order_id = ord.id)