none
TimeOut Linq RRS feed

  • Pregunta

  • Buenas a todos


    Tengo el siguiente problema, una consulta a Sql Server se demora casi 5 minutos en responder, por lo cual puse en la cadena de conexion que fuera de 600 segundos (10 minutos) pero siempre a los dos minutos me saca error de timeout, despues los hice por medio del codigo asi



    using (Entities db = new Entities())
    {  

         db.CommandTimeout = 600;

         var data = (from i in db.tabla where i.Columna == 1 && i.FECHA >= x select i);

         var rows = from item in data.Skip(14 * (page - 1)).Take(14).ToArray()                           select item;

    }



    en var rows me esta generando el timeout, el cual lo tengo asignado en db.CommandTimeout = 600; siempre a los dos minutos me genera la excepcion

    No se que mas probar :(

    Muchas gracias


    viernes, 30 de agosto de 2013 16:53

Todas las respuestas

  • Una pregunta que tiene mas que ver con bbdd, tienes declarado índices por los campos que estas consultando? Es decir, yo crearía un índice por los campos Columna y Fecha

    Si se solucionó tu consulta no olvides marcar la respuesta. Si te ayudó vótala como útil. Saludos

    viernes, 30 de agosto de 2013 17:07
  • hola Sergio

    Es una vista, y las tablas a las que se le hacen referencia tienen los indices correspondientes

    viernes, 30 de agosto de 2013 17:16
  • Estas en un entorno web? En asp.net? Lo digo porque a lo mejor tendrías que aumentar el tiempo de executionTimeout

    Si se solucionó tu consulta no olvides marcar la respuesta. Si te ayudó vótala como útil. Saludos

    viernes, 30 de agosto de 2013 17:22
  • Si es Web, MVC framework 4.5
    viernes, 30 de agosto de 2013 20:15
  • hola

    - que volumen de registros posee la tabla ?

    - porque usas el .ToArray() ? porque simplemente no un

    var rows = data.Skip(14 * (page - 1)).Take(14).ToList()

    o sea no necesitas definir linq para usar el skip y take

    saludos


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina

    domingo, 1 de septiembre de 2013 11:30