pingcap / pingcap/tidb

collect the needed information for plan based RU

Open
#70,445 0 comments 0 reactions 0 assignees View on GitHub
type/enhancement
Dominant language
Go
Stars
40.5k
Forks
6.2k
PR merge metrics
PR metrics pending

Description

## Enhancement

We choose following units as the basic items:
- scan bytes: how many bytes the storage scans
- net bytes: how many bytes sent across network
- hash table size: the heavy part that join&agg will use
- join size: the main calculation inside the join
- cpu work: mainly the cost of evaluate an expression
- frontend_size: the one related to parser&planner, it will be zero if plan cache is hit

The final RU will be calculated as `SUM(unit*weight)`.

Contributor guide

Open the contributing guide

Research direction

The issue names no files, tests, or entry points. Start by locating the existing RU and plan-cost calculation paths, then determine how scan bytes, network bytes, hash-table size, join size, CPU work, and frontend size are collected and weighted. Done means the required units are collected and the final RU is calculated as SUM(unit*weight), including the plan-cache case.

Written by the indexing model from the issue text.

Assessment

Tech stack
go, sql
Domain
databases
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Quiet
Clarity
Needs clarification
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.