mysql视图无法运行_MySQL视图 – 使用或不使用

你认为视图不是MySQL的性能优势是对的.

他们的目的是使构建在其上的其他查询更易于阅读,并确保其他用户和程序员更有可能正确使用数据.将它们视为一种虚拟去标准化数据的方法,而不会影响实际对数据进行非规范化的大小/性能影响.

就像最简单的情况一样,我们只需要接受订单和订单项.每个订单都有一个订单项.

订单表可能包含以下列:

ID

Status

Created_at

Paid_on

line_items表可能包含以下列:

LI_ID

order_id

sku_id

quantity

price

在编写代码和查询时,您会发现您将一直在进行以下连接 –

orders

join line_items on line_items.order_id = orders.id

这可以通过创建视图来简化:

create view 'order_lines' as

select * from orders

join line_items on line_items.order_id = orders.id

所以你的查询将来自:

select orders.id, sum(price) from orders

join line_items on line_items.order_id = orders.id

where created_at >= '2011-12-01' and created_at < '2012-01-01

group by orders.id;

至:

select id, sum(price) from order_lines

where created_at >= '2011-12-01' and created_at < '2012-01-01

group by id;

DB将以完全相同的方式执行这两种方式,但更容易阅读.不可否认,在这种情况下,阅读并不容易,但更容易阅读和编码.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值