AnswerBun.com

DataTables 650k muy lento. Server-side funciona?

Stack Overflow en español Asked by Lautaro on October 5, 2020

Actualmente estoy haciendo un filtrado de datos. Cuando hago una consulta de aproximadamente 650k de registros el dataTable tarda mucho en cargar y además me sobrecarga la memoria de la computadora.
A veces me devuelve error 500 del server. Probé la consulta directamente en phpmyadmin y tarda mucho menos. A veces devuelve el siguiente error:

DataTables warning: table id = tabla_users Ajax error. For more information about this error, please see http://datatables.net/tn/7

Controller:

                       $data = collect(DB::select("SELECT distinct usuarios.usuario_id, empresas.nombre_empresa as empresa, usuarios.apellido as apellido, usuarios.autorizado, usuarios.dni, usuarios.dni, usuarios.email, usuarios.fecha_creacion, usuarios.habilitado, usuarios.nombre AS nombre, usuarios.origen, usuarios.reportado, usuarios.telefono, team.equipo AS teams, aplicaciones.nombre AS nombre_app
                      FROM usuarios, usuario_aplicacion, aplicaciones, team_usuario, team, empresas, usuarios_empresa
                      WHERE  aplicaciones.aplicacion_id IN ( $aplicaciones )
                      AND usuario_aplicacion.aplicacion_id IN ($aplicaciones)
                      AND usuarios.email = usuarios_empresa.email
                      AND usuarios.email = usuario_aplicacion.email
                      AND usuarios.email = team_usuario.email_usuario
                      AND team_usuario.id_team = team.id_team
                      AND usuarios_empresa.id_empresa = empresas.id_empresa
                      AND team.id_team
                      IN ( $equipos )"));

Ajax desde la vista:

                var tabla = $('#tabla_usuario').DataTable({
                initComplete: function( settings, json ) {
                    $('.cargando').hide();

                },
                processing: true,
                serverSide: true,
                fixedHeader: true,
                orderCellsTop: true,
                lengthMenu: [ 50 ],
                paging: true,
                scrollX: true,
                lengthChange : true,
                searching: true,
                ordering: true,
                bDestroy: true,
                dom: 'Bfrtip',
                buttons: [
                    'copy', 'csv', 'excel'
                ],
                ajax: {
                    url: "{{ URL::route('route') }}",
                    dataSrc: '',
                    dataType:"json",
                    data: {
                        'fecha_desde': $("#fecha_desde").val(),
                        'fecha_hasta': $("#fecha_hasta").val(),
                        'aplicacion': JSON.stringify(ArrayAplicaciones),
                        'equipos': JSON.stringify(ArrayEquipos)
                    },
                },
                "language": {
                    "url": "//cdn.datatables.net/plug-ins/1.10.15/i18n/Spanish.json"
                },
                columns: [
                    { data: 'user' },
                    { data: 'name' },
                    { data: 'lastname' },
                    { data: 'code_id' },
                    { data: 'email' },
                    { data: 'date' },
                    { data: 'tel' },
                    { data: 'aplic' },
                    { data: 'teams' },
                    { data: 'empresa' }
                ]
            });

Add your own answers!

Related Questions

como paginar una list en angular

1  Asked on January 4, 2022 by user184448

     

Filtrar sólo si el campo no está vacío c#

2  Asked on January 4, 2022 by l-ronquillo

     

Mostrar AM/PM y ordenar fecha en tabla

1  Asked on January 4, 2022 by jj-rr

 

No se guarda los datos en sqlite3

1  Asked on January 4, 2022

     

¿como auto mapear con automapper-js?

0  Asked on January 4, 2022 by anonymous-programer

       

Filtrar informacion de un Datatable con instruccion IN

1  Asked on January 4, 2022 by elnapster

     

Problema SCSS / CSS

1  Asked on January 1, 2022 by alfonso-perez

     

Eloquont Laravel filtrar anidadamente

0  Asked on January 1, 2022

   

Ask a Question

Get help from others!

© 2022 AnswerBun.com. All rights reserved. Sites we Love: PCI Database, MenuIva, UKBizDB, Menu Kuliner, Sharing RPP