You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
the hash joins build side will collect all the matched build rows for each probeRow without memory tracing, which has the potential to be OOM when doing the matching procedure.
already acknowledged. actually, we have the returned ptrs when call back from GetMatchedRowsAndPtrs, we can use ptrs to do the iteration, thx.
Enhancement
看这里的代码,当做hashjoin的时候probe表选择一条记录时候,build表如果有大批量结果集匹配到那么没有被内存追踪到,不能落盘,容易引起OOM,可以通过select * from a(少量记录) cross join b(百万或者千万记录)走hashjoin来模拟此行为。
对于hashjoin怀疑和方法:func (c *hashRowContainer) GetMatchedRowsAndPtrs中的matched = append(matched, matchedRow)没有consume有关。
https://github.com/pingcap/tidb/blob/master/executor/hash_table.go#:~:text=matched%20%3D%20append(matched%2C%20matchedRow)
The text was updated successfully, but these errors were encountered: