code: func (h *Handle) DumpFeedbackToKV(fb *statistics.QueryFeedback) error {
  	vals, err := statistics.EncodeFeedback(fb)
  	if err != nil {
  		logutil.Logger(context.Background()).Debug("error occurred when encoding feedback", zap.Error(err))
  		return nil
  	}
  	var isIndex int64
  	if fb.Tp == statistics.IndexType {
  		isIndex = 1
  	}
  	sql := fmt.Sprintf("insert into mysql.stats_feedback (table_id, hist_id, is_index, feedback) values "+
  		"(%d, %d, %d, X'%X')", fb.PhysicalID, fb.Hist.ID, isIndex, vals)
  	h.mu.Lock()
  	_, err = h.mu.ctx.(sqlexec.SQLExecutor).Execute(context.TODO(), sql)
  	h.mu.Unlock()
  	if err != nil {
  		metrics.DumpFeedbackCounter.WithLabelValues(metrics.LblError).Inc()
  	} else {
  		metrics.DumpFeedbackCounter.WithLabelValues(metrics.LblOK).Inc()
  	}
  	return errors.Trace(err)
  }
docs: // DumpFeedbackToKV dumps the given feedback to physical kv layer.