Skip to content

feature request : MariaDB metadata skipping #1688

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
rusher opened this issue Mar 26, 2025 · 0 comments
Open

feature request : MariaDB metadata skipping #1688

rusher opened this issue Mar 26, 2025 · 0 comments

Comments

@rusher
Copy link
Contributor

rusher commented Mar 26, 2025

this feature request is part of a serie to improve performance when using MariaDB : see doc

A capability MARIADB_CLIENT_CACHE_METADATA (Since MariaDB 10.6) permit to skip prepared statement metadata.

This differ from #1105 : My understanding of MySQL implementation is to totally skipping metadata, for application that are specifically designed for it ( caching query metadata for each query in advance in application).

MariaDB has a similar capability, but conception differ : if capability is set, server will just send metadata if it has changed since last sent (first execution will always have metadata).

from https://mariadb.com/kb/en/mariadb-protocol-differences-with-mysql/#prepare-statement-skipping-metadata :

Prepared statement metadata, which typically remains unchanged except during table alterations, can be cached by clients when the MARIADB_CLIENT_CACHE_METADATA capability is enabled. The server won't then send them again, unless they change. This significantly improves the performance of subsequent executions, especially for large metadata sets.

When MARIADB_CLIENT_CACHE_METADATA capability is set, the Resultset Column count packet format indicates if metadata follows or is skipped:

int column count
if (MARIADB_CLIENT_CACHE_METADATA capability set) int<1> metadata follows (0 / 1)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant