【 使用环境 】生产环境
【 OB 】observer
【 使用版本 】3x和4x版本
【问题描述】3x版本和4x版本的mysql租户普通视图的实现和mysql的实现是否类似?mysql的视图并不会保存任何数据,当查询该视图时,会根据视图的定义进行查询。例如
CREATE VIEW recent_customer_orders AS
SELECT
c.customer_id as id,
c.name AS customer_name,
o.order_id as order_num ,
o.order_date,
o.amount
FROM
customers c
INNER JOIN
orders o ON c.customer_id = o.customer_id
WHERE
o.order_date >= DATE_SUB(CURDATE(), INTERVAL 30 DAY);
查询视图
select * from recent_customer_orders where id=10 order by order_date;
ob在查询的时候是不是会根据视图的定义对查询的sql语句进行改写,然后再执行join查询?如果join的2个表比较大,查询过程种是否会有临时文件产生以及内存的冲高?