code: func getMostCorrColFromExprs(exprs []expression.Expression, histColl *statistics.Table, threshold float64) (*expression.Column, float64) {
  	var cols []*expression.Column
  	cols = expression.ExtractColumnsFromExpressions(cols, exprs, nil)
  	if len(cols) == 0 {
  		return nil, 0
  	}
  	compCorr := 1.0
  	var corr float64
  	var corrCol *expression.Column
  	for _, col := range cols {
  		hist, ok := histColl.Columns[col.ID]
  		if !ok {
  			return nil, 0
  		}
  		curCorr := math.Abs(hist.Correlation)
  		compCorr *= curCorr
  		if curCorr < threshold {
  			continue
  		}
  		if corrCol == nil || corr < curCorr {
  			corrCol = col
  			corr = curCorr
  		}
  	}
  	return corrCol, compCorr
  }
docs: // getMostCorrColFromExprs checks if column in the condition is correlated enough with handle. If the condition
  // contains multiple columns, choose the most correlated one, and compute an overall correlation factor by multiplying
  // single factors.