PHP leva 90x mais para executar a consulta do que o cliente MySQL

Estou executando uma consulta MySQL através de um script PHP de linha de comando (consulta preparada usando PDO no driver mysqlnd). É uma consulta simples com uma única união à esquerda, retornando 100 linhas e 7 colunas pequenas por linha.

Quando executo essa consulta na CLI do MySQL (na mesma máquina que executa o script PHP em questão), são necessários 0,10 segundos - mesmo com o sinalizador SQL_NO_CACHE inserido.

Quando executo essa consulta, preparo, por meio do PDO, leva mais de 9 segundos. Isso é execute ()só - não incluindo o tempo que leva para a chamada de busca.

Um exemplo da minha consulta:

SELECT HEX(al.uuid) hexUUID, al.created_on,
    IFNULL(al.state, 'ON') actionType, pp.publishers_id publisher_id,
    pp.products_id product_id, al.action_id, al.last_updated
FROM ActionAPI.actionLists al
LEFT JOIN ActionAPI.publishers_products pp
    ON al.publisher_product_id = pp.id
WHERE (al.test IS NULL OR al.test = 0)
    AND (al.created_on >= :since OR al.last_updated >= :since)
ORDER BY created_on ASC
LIMIT :skip, 100;

Eu não acredito que a consulta é a culpa, considerando que todo cliente MySQL nativo que eu tentei rodou quase instantaneamente, mas aqui está o EXPLAIN para chutes:

+----+-------------+-------+--------+-------------------------+------------+---------+-----------------------------------+------+-------------+
| id | select_type | table | type   | possible_keys           | key        | key_len | ref                               | rows | Extra       |
+----+-------------+-------+--------+-------------------------+------------+---------+-----------------------------------+------+-------------+
|  1 | SIMPLE      | al    | index  | created_on,last_updated | created_on | 8       | NULL                              |  100 | Using where |
|  1 | SIMPLE      | pp    | eq_ref | PRIMARY                 | PRIMARY    | 4       | ActionAPI.al.publisher_product_id |    1 |             |
+----+-------------+-------+--------+-------------------------+------------+---------+-----------------------------------+------+-------------+
2 rows in set (0.00 sec)

O que no mundo é PDO fazendo isso está tomando 8,9 segundos?

EDITAR: Como dito nos comentários, eu escrevi uma versão mysql_query disso também, e ela tem o mesmo desempenho ruim. Removendo parte da cláusula WHERE, no entanto, faz com que seja executado tão rápido quanto o cliente MySQL. Leia sobre os detalhes incompreensíveis.