Este conteúdo foi traduzido por máquina para sua conveniência e a Huawei Cloud não pode garantir que o conteúdo foi traduzido com precisão. Para exibir o conteúdo original, use o link no canto superior direito para mudar para a página em inglês.
Central de ajuda/
GaussDB(for MySQL)/
Guia de usuário/
Funções do kernel/
Pushdown LIMIT...OFFSET/
Testes de desempenho
Atualizado em 2024-09-29 GMT+08:00
Testes de desempenho
- Execute a seguinte instrução SQL (Q1) sem condições de predicado para acessar a tabela primária.
mysql> EXPLAIN SELECT * FROM lineitem LIMIT 10000000,10; +----+-------------+----------+------------+------+---------------+------+---------+------+----------+----------+-----------------------+ | id | select_type | table | partitions | type | possible_keys | key | key_len | ref | rows | filtered | Extra | +----+-------------+----------+------------+------+---------------+------+---------+------+----------+----------+-----------------------+ | 1 | SIMPLE | lineitem | NULL | ALL | NULL | NULL | NULL | NULL | 59281262 | 100.00 | Using offset pushdown | +----+-------------+----------+------------+------+---------------+------+---------+------+----------+----------+-----------------------+ 1 row in set, 1 warning (0.00 sec)
- Execute a seguinte instrução SQL (Q2) com condições de predicado para acessar o índice secundário (incluindo as condições do intervalo de índice). Informações sobre outras colunas precisam ser obtidas da tabela.
mysql> EXPLAIN SELECT * FROM lineitem WHERE l_partkey > 10 AND l_partkey < 200000 LIMIT 5000000, 10; +----+-------------+----------+------------+-------+---------------------------------+-------------+---------+------+----------+----------+----------------------------------------------+ | id | select_type | table | partitions | type | possible_keys | key | key_len | ref | rows | filtered | Extra | +----+-------------+----------+------------+-------+---------------------------------+-------------+---------+------+----------+----------+----------------------------------------------+ | 1 | SIMPLE | lineitem | NULL | range | i_l_partkey_suppkey,i_l_partkey | i_l_partkey | 4 | NULL | 10949662 | 100.00 | Using offset pushdown; Using index condition | +----+-------------+----------+------------+-------+---------------------------------+-------------+---------+------+----------+----------+----------------------------------------------+ 1 row in set, 1 warning (0.00 sec)
- Execute a seguinte instrução SQL (Q3) com condições de predicado e ORDER BY para classificar os dados por índice.
mysql> EXPLAIN SELECT * FROM lineitem WHERE l_partkey > 10 AND l_partkey < 200000 ORDER BY l_partkey LIMIT 5000000, 10; +----+-------------+----------+------------+-------+---------------------------------+-------------+---------+------+----------+----------+----------------------------------------------+ | id | select_type | table | partitions | type | possible_keys | key | key_len | ref | rows | filtered | Extra | +----+-------------+----------+------------+-------+---------------------------------+-------------+---------+------+----------+----------+----------------------------------------------+ | 1 | SIMPLE | lineitem | NULL | range | i_l_partkey_suppkey,i_l_partkey | i_l_partkey | 4 | NULL | 10949662 | 100.00 | Using offset pushdown; Using index condition | +----+-------------+----------+------------+-------+---------------------------------+-------------+---------+------+----------+----------+----------------------------------------------+ 1 row in set, 1 warning (0.00 sec)
A figura a seguir descreve o desempenho de Q1, Q2 e Q3 quando o pushdown LIMIT OFFSET está ativado e desativado no parâmetro de comparação TPC-H (escala de 10).
Figura 1 Comparação de desempenho
Tópico principal: Pushdown LIMIT...OFFSET
Feedback
Esta página foi útil?
Deixar um comentário
Obrigado por seus comentários. Estamos trabalhando para melhorar a documentação.
O sistema está ocupado. Tente novamente mais tarde.