问题描述
我们正在尝试找到一种更便宜,更易管理的方式来存储和执行查询。一种方法是每次有人查询时从60列中检索信息,另一种方法是处理任何必要的列。会产生巨大的成本影响吗?
场景: 我们有一个视图,它使用60列来读取并进行一些计算,并且我们假设要使用15列来计算5个指标。
另一种方法是只选择那15列并提供结果。
解决方法
是的,在多个级别上。
几种方法:
- 解析所有60列值的处理能力与20列相反。
- 网络IO:更多列表示用于将数据从云传输到客户端的更多网络IO。因此,在这种情况下,使用60列时所需的IO大约要多2倍。 (当然,这取决于列数据类型,大小等)
即使看起来并不多,但每个效率低下的查询都会一点点增加成本,并且会花费很多,尤其是如果您打算长期使用它。