
Dúvidas envie e-mail:
CanalSqlServerNaPratica@gmail.com
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)
Faça um comentário