暂无图片
GBase8s如何使用临时表加速查询
我来答
分享
刚刚 好
2022-03-21
GBase8s如何使用临时表加速查询

GBase8s如何使用临时表加速查询

我来答
添加附件
收藏
分享
问题补充
2条回答
默认
最新
😺


把表的一个子集进行排序并创建临时表,有时能加速查询。它有助于避免多重排序操作,而且在其他方面还能简化优化器的工作。例如:

SELECT cust.namercvbles.balance……other columns
FROM custrcvbles
WHERE cust.customer_id = rcvlbes.customer_id
AND rcvblls.balance>0
AND cust.postcode>“98000”
ORDER BY cust.name

如果这个查询要被执行多次而不止一次,可以把所有未付款的客户找出来放在一个临时文件中,并按客户的名字进行排序:

SELECT cust.namercvbles.balance……other columns
FROM custrcvbles
WHERE cust.customer_id = rcvlbes.customer_id
AND rcvblls.balance>0
ORDER BY cust.name
INTO TEMP cust_with_balance

然后以下面的方式在临时表中查询:

SELECT FROM cust_with_balance
WHERE postcode>“98000”

临时表中的行要比主表中的行少,而且物理顺序就是所要求的顺序,减少了磁盘I/O,所以查询工作量可以得到大幅减少。

 

暂无图片 评论
暂无图片 有用 0
刘贵宾

把表的一个子集进行排序并创建临时表,有助于避免多重排序操作,而且在其他方面还能简化优化器的工作。

暂无图片 评论
暂无图片 有用 0
回答交流
提交
问题信息
请登录之后查看
邀请回答
暂无人订阅该标签,敬请期待~~
暂无图片墨值悬赏