Description:
Currently column names, aliases and other extended metadata is returned for every resultset selected.
In high-throughput cases that causes huge network overhead (responses can contain 10-20x more metadata information, compared to payload).
As there is no way to workaround that (prepared statements return lots of metadata at execute stage too), there should be SQL mode, that would:
a) Not send column aliases
b) Not send column names (assume client already knows that)
c) Send only the basic metadata needed (only field types)
d) Not send table names and other metadata that is not needed for simplified query processing
How to repeat:
SELECT a AS b FROM table;
(inspect the packet)
Suggested fix:
Provide SQL mode that strips metadata from response packets.