Ticket #1980 (closed defeito: fixed)
Problema de performance ao listar boletins internos
Reported by: | diogenesduarte | Owned by: | diogenesduarte |
---|---|---|---|
Priority: | normal | Milestone: | Expresso 2.2.6 |
Component: | NewsAdmin | Version: | branch 2.2 |
Severity: | média | Keywords: | |
Cc: | WorkGroup: |
Description
A listagem de boletins internos para exibição realiza uma busca por boletins no banco trazendo todos os boletins já criados por uma categoria, sem usar limit na query, o que faz as consultas ficarem lentas quando a categoria possui muitas notícias.
Change History
Note: See
TracTickets for help on using
tickets.
O problema é um pouco pior do que imaginavamos. Na verdade na hora de buscar as notícias ele faz um limit na query, mas para pegar o número total de linhas do resultado o expresso simplesmente retira o limit e roda novamente a query, usando depois o objeto de banco de dados para retornar o numrows, dado que provavelmente é necessário na paginação. Refizemos a query para pegar o número de linhas total da consulta utilizando count(*) direto na query. Isso foi feito na revisão [4589].