**Describe the situation**

```
SELECT * FROM test.hits INTO OUTFILE 'dump.csv' FORMAT CSV

8873898 rows in set. Elapsed: 32.487 sec. Processed 8.87 million rows, 8.46 GB (273.15 thousand rows/s., 260.42 MB/s.)
```

is bounded by single CPU core. Too slow :(
return false;
            case Protocol::Server::Log:
                onLogData(packet.block
                break;
            case Protocol::Server::Progress:
                onProgress(packet.progress
                return true;
            default:
                throw NetException(
                    "Unexpected packet from server (expected Exception, EndOfStream or Log, got "
                        + String(Protocol::Server::toString(packet.type)) + ")",
                    ErrorCodes::UNEXPECTED_PACKET_FROM_SERVER
        }
    }
}
void ClientBase::processParsedSingleQuery(const String & full_query, const String & query_to_execute,
        ASTPtr parsed_query, std::optional<bool> echo_query_, bool report_error)
{
    resetOutput(
    have_error = false;
    client_exception.reset(
    server_exception.reset(
    if (echo_query_ && *echo_query_)
    {
        writeString(full_query, std_out
        writeChar('\n', std_out
        std_out.next(
    }
    if (is_interactive)
    {