PHPMem v2.0.1

Version
1.6.45
Uptime
15 days 11 hours 11 minutes 19 seconds

Memory

Total
512MB
Used
16,30MB (3.18%)
Free
495,70MB

Keys

Current
19 572
Total (since start)
33 978
Evictions
0
Reclaimed
381
Expired Unfetched
0
Evicted Unfetched
0

Connections

Current
8 / 1 024 max
Total
172 504
Rejected
0
llm:302cbf8f4d0b5b813160326e85c576a6c1be8036bfd907afea3a57f309ac58b9
TTL 6 days 19 hours 9 minutes 33 seconds Size 3,38KB Export
Edit
Below, columns are grouped by what they do in analysis. The profiler's own tags are sometimes wrong, because many numeric columns are stored as text. **Identifiers and keys** - The dataset has no surrogate ID column. Rows are identified by composite keys. - `players_man_.name` is the only fully unique column (uniqueness 1.0), so it is the key of that table. - `players_tournament_man_` is keyed by `name` + `year` + `tournament`, which the profiler flagged as a primary key. - The three match tables (`raw_kaggle`, `return_kaggle`, `serve_kaggle`) are one row per player per match. The key is `Name` + `Date` + `Tournament` (spelled `Tournment` in `serve_kaggle`) + `Rd`. This key comes from the ontology's reading of the data and was not checked with a uniqueness query. - `Name` and `Tournament` in `return_kaggle` are tagged as foreign keys, but the dataset card lists no verified joins. Treat that tag as a weak hint. - `raw_kaggle.against` has uniqueness 1.0, but it is a free-text opponent string, not a real ID. - `_ingestion_timestamp`, `_batch_id`, `_source_file` and `_source_system` are load metadata with a single distinct value each. They are not analytical fields. **Categorical dimensions** - `Surface` has about 4 values (hard, clay, grass, carpet). It appears in all three match tables. - `Rd` (round) has about 14 values and also appears in all three match tables. - `Tournament` / `Tournment` has about 3,963 distinct values, so it is high-cardinality. - `Score` has about 10,386 distinct values and is closer to free text. - `against` in `return_kaggle` has about 1 distinct value, so it is effectively constant there. In `serve_kaggle` it is typed as descriptive text. - `players_tournament_man_.tournament` (about 362 values) and `rounds` (about 131 values) are classifiers. - `Bpsvd` (serve) and `BPCnv` (return) are break-point saved and converted counts. They look like "x/y" text and are tagged as classifiers, but they are really metrics stored as text. - `Name` (about 491 distinct in `raw_kaggle`) is the player label. **Numeric metrics** - Stored as real numbers in `raw_kaggle`: `Rk`, `vRk` (own and opponent rank), `TP`, `SP`, `1SP`, `2SP`, `Aces`, `DFs` and `vA`. - `Rk` and `vRk` are also numeric in `return_kaggle` and `serve_kaggle`. - `players_man_.number_of_matches` is a BIGINT count. - Stored as text (VARCHAR) but numeric in meaning: - Return: `DR`, `TPW`, `RPW`, `vA%`, `v1st%` and `v2nd%`. - Serve: `Dr`, `1st%`, `1stIn`, `2nd%`, `A%` and `Df%`. - The profiler tags most of these as "classifier", which is misleading. They need stripping and casting (for example removing `%`) before analysis. - Missing data: the `raw_kaggle` stat columns (`TP`, `SP`, `1SP`, `2SP`, `Aces`, `DFs`, `vA`) are null in about 86,799 of 237,205 rows. `Rk` is null in 4,388 rows and `vRk` in 10,394. **Dates and times** - `Date` and `Time` appear in all three match tables, but both are stored as text. The dates look like `1-Apr-2013` and include a non-standard hyphen character (`9‑Sep‑2024`), so parsing will need cleaning. - The `Time` column is sparse and poorly formed, and its range is reported as "..8:30". - `players_tournament_man_.year` is a real BIGINT year (2002–2024), so it is the cleanest time field. - `players_man_.playing_years` is text holding a list of years per player.