Consulta no Sql Server WITH NOLOCK e WITH READPAST

 

Olá pessoal.

Eu sou Adilson Paranhos – MCSA Sql Server.

 

Muitas vezes em nosso dia a dia, o usuário reclama que o resultado da consulta sql está demorando no Sql Server. Nesta vídeo aula vamos aprender dois comandos: WITH NOLOCK e WITH READPAST. Eles são hints (Marcações)   usados para acelerar o resultado da consulta sql. Assista a vídeo aula e aprenda a diferença entre eles.

Segue abaixo os scritps usados  nesta aula.

Lembrando que deverá abrir 3(três) sessões no Management Studio.

1) Script da Primeira Sessão :

 


/*SCRIPT(1 DE 3) – CRIAÇÃO DOS OBJETOS (BANCO DE DADOS E TABELA)*/

use master
go


/*Criar o banco de dados vendas */

CREATE database bd_vendas_carro
go

/*Seleciona o banco de dados */

use bd_vendas_carro
go

/*Criar tabela tab_cupom */

create table tab_cupom_vendas (
id_cupom int identity(1,1000),
data_venda datetime,
valor float
)

go

/* Insere registros/ Popular a tabela vendas */

DECLARE @numero INT;
SET @numero=0;
WHILE @numero< 15
BEGIN
INSERT tab_cupom_vendas ( data_venda, valor)
VALUES ( dateadd(d,-1*@numero,getdate()), @numero * 10)
–VALUES ( dateadd(d,-1*@numero,getdate()), @numero * 10)
SET @numero = @numero + 1;
END
go

 

 

 

2) Script da Segunda Sessão :

 

 

/*SCRIPT(2 DE 3) – COMEÇAR A TRANSAÇÃO DE ATUALIZAÇÃO DE DADOS*/


use master
go

begin tran —Início da transação

UPDATE vendas set valor = 1
from bd_vendas_carro.dbo.tab_cupom_vendas as Vendas
where id_cupom in
(1,
1001
,2001
,3001
,4001
,5001
,6001
)
–commit

 

 

 

3) Script da Segunda Sessão :

 

/*SCRIPT(3 DE 3) – CONSULTAS PADRÃO/ NOLOCK E READPAST*/

/*Processamento Padrão Sql Server*/
select
id_cupom,
data_venda,
valor
from bd_vendas_carro.dbo.tab_cupom_vendas
go

/*NOLOCK – Todos (Leitura Suja “Uncommit” + Conformidas “Uncommit” ) */
select
id_cupom,
data_venda,
valor
from bd_vendas_carro.dbo.tab_cupom_vendas with(NOLOCK)
go

/* READPAST – Somente leituras confirmadas- Commit*/

select
id_cupom,
data_venda,
valor
from bd_vendas_carro.dbo.tab_cupom_vendas with(READPAST)

 

 

 

Sobre Adilson Paranhos 8 Artigos
Formado em Analise e Desenvolvimento de Sistemas, experiência há mais de 10 anos. Amo aprender, ensinar, compartilhar e simplificar coisas... Linguagem T-SQL, consultas básicas e avançadas, filtros, agrupamentos, junções, funções, views, funções de sistemas

Seja o primeiro a comentar

Faça um comentário

Seu e-mail não será publicado.


*