def execute_async(self, operation, parameters=None, configuration=None):
        """Asynchronously execute a SQL query.

        Immediately returns after query is sent to the HS2 server.  Poll with
        `is_executing`. A call to `fetch*` will block.

        Parameters
        ----------
        operation : str
            The SQL query to execute.
        parameters : str, optional
            Parameters to be bound to variables in the SQL query, if any.
            Impyla supports all DB API `paramstyle`s, including `qmark`,
            `numeric`, `named`, `format`, `pyformat`.
        configuration : dict of str keys and values, optional
            Configuration overlay for this query.

        Returns
        -------
        NoneType
            Results are available through a call to `fetch*`.
        """
        log.debug('Executing query %s', operation)

        def op():
            if parameters:
                self._last_operation_string = _bind_parameters(operation,
                                                               parameters)
            else:
                self._last_operation_string = operation

            op = self.session.execute(self._last_operation_string,
                                      configuration,
                                      run_async=True)
            self._last_operation = op

        self._execute_async(op)