Mysql - Melhoria de desempenho de “ORDER BY” com índice

1

Posso melhorar o "ORDER BY" adicionando um índice em fld_date.

 SELECT * FROM t1 WHERE fld1='XXX' fld2='XXX' ORDER BY fld_date;

A consulta usa o índice de (fld1, fld2 - índice combinado) na cláusula where. Como o ORDER BY não corresponde exatamente ao índice, se eu adicionar um índice com fld_date, ele será útil para melhorar o desempenho de ORDER BY fld_date. ?

    
por Ahn 23.08.2012 / 12:44

2 respostas

0

Você deve adicionar um índice em (fld1, fld2, fld_date). Observe que ele funcionará somente se fld1 e fld2 estiverem definidos como correspondência exata na cláusula WHERE , expressões não exatas como < ou > desativarão o índice para pedidos.

    
por 23.08.2012 / 12:48
1

Procure em índices clusterizados, eles podem ser usados para melhorar o desempenho em alguns casos com grandes conjuntos de dados, aparentemente era isso que os DBs de estilo SQL usavam quando o poder de computação era muito limitado.

Fonte: Estou trabalhando com um desenvolvedor sênior que mencionou que usaria um índice para evitar a necessidade de selecionar os valores reais no banco de dados devido às restrições de taxa de transferência.

De acordo com a documentação que eu verifiquei, eles são apenas 'chaves primárias', mas não são o mesmo que eram antes, podem exigir escavações para obter qualquer benefício obscuro de desempenho.

Informações adicionais podem ser encontradas aqui: link

Veja o título "Influenciando ORDER BY Optimization" no artigo de referência.

    
por 15.01.2018 / 20:53

Tags