Translate

Impacto para atualizar grandes valores ( Problema x Solução ) VARCHAR (MAX), NVARCHAR (MAX) e VARBINARY (MAX) que contêm valores como JSON ou XML, sem problemas de desempenho.



A ideia desse estudo é entender o impacto para atualizar grandes valores dados e para substituir os tipos de dados.

/*
Fonte de Estudo: mssqltips
*/


Estudos feitos na versão 2014 Microsoft Sql Server


Primeiramente vamos iniciar os estudos criando uma tabela na base de dados.
Como é um estudo de caso, podemos reparar no comando Drop table  com If Exists para apagar a tabela caso já exista (**interessante**)


DROP TABLE IF EXISTS largetableobject 

CREATE TABLE largetableobject 
             ( 
                          id   bigint IDENTITY , 
                          col1 varchar(max) 
             )

---------
Em seguida podemos fazer, uma inserção de uma grande quantidade de dados - que no exemplo é feito em segundos usando os comandos que exigem permissão de superior de execução na base de dados ( OPENROWSET (BULK )


INSERT INTO largetableobject 
            (col1) 
SELECT bulkcolumn 
FROM   OPENROWSET (BULK 'C:\temp\5722_citylots.json', single_clob) AS j

go 
SELECT Object_name(I.object_id), 
       I.NAME, 
       AU.total_pages, 
       AU.used_pages, 
       AU.data_pages, 
       P.rows, 
       AU.type_desc 
FROM   sys.allocation_units AS AU 
       INNER JOIN sys.partitions AS P 
               ON AU.container_id = P.partition_id 
       INNER JOIN sys.indexes AS I 
               ON I.index_id = P.index_id 
                  AND I.object_id = P.object_id 
WHERE  P.object_id = Object_id('LargeTableObject') 

go 



DBCC freeproccache 

DBCC dropcleanbuffers 

CHECKPOINT 

SET statistics io ON 

SELECT * 
FROM   Fn_dblog(NULL, NULL) 

go 

----------------teste até aqui e veja

UPDATE dbo.largetableobject 
SET    col1 = col1 + Replicate(' regular update ', 2 ) 
WHERE  id = 1 

go 

SELECT * 
FROM   Fn_dblog(NULL, NULL) 

go 

----------------teste até aqui e veja

DBCC freeproccache 

DBCC dropcleanbuffers 

CHECKPOINT 

SET statistics io ON 

SELECT * 
FROM   Fn_dblog(NULL, NULL) 

go 

----------------teste até aqui e veja

UPDATE dbo.largetableobject 
SET    col1.Write (Replicate(' write update ', 2), NULL, NULL) 
WHERE  id = 1 

go 

SELECT * 
FROM   Fn_dblog(NULL, NULL) 

go 


----------------teste até aqui e veja

Comparar planos de execução
Se olharmos para os planos de execução para as duas consultas, podemos ver que eles quase parecem iguais. Mas, como vimos, há muito menos atividade ao usar a cláusula WRITE.


/*
Conclusão do SITE (mssqltips)
Há uma grande diferença ao usar a cláusula WRITE e esse aprimoramento é um bom motivo para alterar a maneira como você atualiza tipos de dados de grande valor. Os planos de execução não mostrarão qual é a melhor escolha, portanto, você precisa usar o comando set statistics io para obter mais informações.
*/

ESTUDANDO PORTUGUÊS no DIA A DIA. Já ouviu falar em verbos bitransitivo e pronominal

ESTUDANDO PORTUGUÊS no DIA A DIA. Já ouviu falar em verbos bitransitivo e pronominal


Olá, tudo bem!

Aqui é o ANDERSON PETRY! 
ANDERSON PETRY


Hoje ao escrever um texto para uma demanda que estava atendendo observei a necessidade de saber se escrevi corretamente a palavra "RESSARCIR", e descobri muito mais...


Vamos compartilhar para o nosso crescimento pessoal e interpessoal.


Além da própria escrita, ouvi melhor a pronúncia e sua tradução.

Veja:
  1. transitivo direto e bitransitivo e pronominal
    fornecer compensação a (alguém ou si mesmo); indenizar(-se).
    "r. danos"
  2. 2.
    transitivo direto e bitransitivo
    guarnecer de (o que for necessário); abastecer, prover.
    "r. a cidade devastada pela seca"



Tradução: to reimburse  ou sinônimos -> repaycompensaterecoup


Outro momento de pesquisa me levou a ver esse site, que é bem desafiador - propondo para ouvir o conteúdo.




Também ao clicar no Google para ver MAIS (...) - nas opções ( LIVROS ) nos apresenta muitos resultados:



Os verbos transitivos diretos-indiretos são aqueles utilizados com dois objetos: um direto, outro indireto, concomitantemente. Exemplos: "No inverno, Dona Cléia dava roupa e comida aos pobres." objeto direto: roupa e comida objeto indireto: aos pobres "A empresa fornece comida aos trabalhadores da firma."


Fontes:
(Acessado em 09/07/2019)

(Acessado em 09/07/2019)