Search code examples
phpsqlecholarge-data

Echo huge sql query result


I have a query that joins many columns. I think it currently is fast enough (5000 rows in result) but what about if the amount of entries increases?

If I want to display the result via an PHP echo statement the page overloads...

What can I do to display a result big like this?

This is my SQL query:

SELECT DISTINCT 
    dominios.dominio as dominio, 
    dominios.id_dominio as id_dominio, 
    dominios.data_insercao as data_insercao, 
    datas.data_insercao as data_insercao, 
    datas.data_expiracao as data_expiracao, 
    dnss.record1 as dns1, 
    entidades_gestoras.nome as ent_nome, 
    entidades_gestoras.email as ent_email, 
    estados.estado as estado, ips.ip as ip, 
    responsaveis_tecnicos.nome as resp_nome, 
    responsaveis_tecnicos.email as resp_email, 
    titulares.nome as tit_nome, 
    titulares.morada as tit_morada, 
    titulares.email as tit_email, 
    titulares.localidade as tit_localidade, 
    titulares.cod_postal as tit_postal 
from 
    dominios 
        left join datas 
            on dominios.id_dominio=datas.id_dominio 
        left join dnss 
            on dominios.id_dominio=dnss.id_dominio 
        left join entidades_gestoras 
            on dominios.id_dominio=entidades_gestoras.id_dominio 
        left join estados 
            on dominios.id_dominio=estados.id_dominio 
        left join ips 
            on dominios.id_dominio=ips.id_dominio 
        left join quantidade_dnss 
            on dominios.id_dominio=quantidade_dnss.id_dominio 
        left join responsaveis_tecnicos 
            on dominios.id_dominio=responsaveis_tecnicos.id_dominio 
        left join titulares 
            on dominios.id_dominio=titulares.id_dominio

And yes, I need all the values to apply filters, and to do a instant search on the table.

Thanks for any help :)


Solution

  • I would recommend to use jQuery and the plugin Datatables which lets you have a server-side search and is also very easy to set up.

    I have it in several of my projects and there are tables with like 50k rows and more. If you only load 100 rows and let the user page through them or search this will make for a good and smooth userexperience.

    For ajaxdatasourced Tables have a look at this Link