none
Selecionado dados que não estão sendo lidos RRS feed

  • Pergunta

  • Como posso fazer para garantir que um retorno de dados, por exemplo um SELECT de 30 linhas, ao ser lido por um usuário ele não seja lido por outro.

    Pensei em criar uma flag que ao aplicar o SELECT ele faça um UPDATE de que estes dados estão sendo lidos, isso dentro de um transaction, porém a leitura seria sem o NO LOCK, garantindo assim que somente estaria lendo dados não lidos, porém minha dúvida é, qual o impacto disso num processo multithread que faz simultaneamente 10 a 30 leituras por minuto?

    Este seria o processo correto?

    quarta-feira, 16 de novembro de 2016 18:08

Respostas

Todas as Respostas

  • Você precisa que cada thread conecte no mesmo banco e tabela para pegar somente as linhas que irá processar? Porque não utiliza uma thread "mãe" para ler os dados e distribuir o trabalho de processamento entre as outras threads? Talvez até usando um recurso de message queueing (ex: RabbitMQ).

    If you found this post helpful, please "Vote as Helpful". If it actually answered your question, remember to "Mark as Answer".

    Se achou este post útil, por favor clique em "Votar como útil". Se por acaso respondeu sua dúvida, lembre de "Marcar como Resposta".



    quarta-feira, 16 de novembro de 2016 18:18
  • Deleted
    quarta-feira, 16 de novembro de 2016 19:28
  • Bom dia,

    Devido a falta de interação do autor dessa pergunta,

    essa thread está sendo fechada. Caso o problema ainda

    esteja ocorrendo, favor abrir uma nova thread.

    Atenciosamente,


    Robson William Silva

    Esse conteúdo é fornecido sem garantias de qualquer tipo, seja expressa ou implícita

    MSDN Community Support

    Por favor, lembre-se de Marcar como Resposta as postagens que resolveram o seu problema. Essa é uma maneira comum de reconhecer aqueles que o ajudaram e fazer com que seja mais fácil para os outros visitantes encontrarem a resolução mais tarde.

    sexta-feira, 18 de novembro de 2016 11:30