background preloader

SQL Server 2005

Facebook Twitter

DBCC RESEED Table Identity Value – Reset Table Iden. DBCC CHECKIDENT can reseed (reset) the identity value of the table. For example, YourTable has 25 rows with 25 as last identity. If we want next record to have identity as 35 we need to run following T SQL script in Query Analyzer. DBCC CHECKIDENT (yourtable, reseed, 34) If table has to start with an identity of 1 with the next insert then table should be reseeded with the identity to 0. If identity seed is set below values that currently are in table, it will violate the uniqueness constraint as soon as the values start to duplicate and will generate error.

Reference : Pinal Dave ( Like this: Like Loading... Requisitos de Sistema do SQL Server 2005. Parameters and Stored Procedures - Windows Live. Semana passada eu escrevi um post rápido falando sobre um problema de performance que ocorreu em um de nossos clientes. Vamos entender direito o problema para caso vocês passem por isso, saibam como evitar, ou como investigar o que está acontecendo. Sempre que uma procedure é executada, e o Query Processor não encontra um plano de execução no Cache, ele da inicio a uma sério de passos que irão gerar um plano de execução para a consulta. Sabemos que uma procedure contem vários comandos e cada um deles tem o seu plano de execução.

Estes planos são gerados durante a execução da consulta, ou seja, durante a execução do batch, na fase de compilação da proc. Para estimar a cardinalidade das consultas de dentro da proc, o QO(Query Optimizer) executa um processo chamado de Sniffing, ou seja, ele lê os valores dos parâmetros de entrada da proc e utiliza estes valores para fazer a estimativa. Quando o Sniffing não funciona 1 Vamos imaginar a seguinte proc: Quando o Sniffing não funciona 2 Conclusão. Simulado para a prova 70-228 - Microsoft - Mauro Pichiliani - SQ. Tips, Tricks, and Advice from the SQL Server Query Optimization.

Parameters are a useful way to improve overall system performance when there are many common queries with the same shape. Instead of compiling each query, one plan can be used for all similar queries. This can significantly reduce CPU overhead and improve throughput. As long as the queries would have really returned the same plan, this is a big performance winner. SQL Server internally tries to automatically turn simple non-parameterized user queries into parameterized queries to take advantage of this performance gain. Parameter use, especially in more complex scenarios, can also cause performance issues. If the queries are complex and/or the data distribution on the columns against which the parameter is compared vary, the cost of different plan choices can change.

The default implementation would be to use the average number of duplicates per value (average frequency) to guess how many rows that the parameter would match. Use tempdb -- duplicates). Drop table t create table t(col1 int) 07 Coisas que você precisa saber em relação "Statistics e Optimi. 1. Selectivity: a. Podemos definir seletividade como: O grau de um valor dentro de um determinado grupo, por exemplo, os jogadores da seleção de futebol são selecionados dentre milhares de opções que um técnico tem. b. Aplicando este conceito a banco de dados teríamos, em uma tabela de Clientes a coluna Tipo de Pessoa, pode ser J(Jurídica) ou F(Física), podemos dizer que o grau de seletividade é de baixo, pois só há duas variantes do valor dentre um todo.

Por outro lado, uma coluna CPJ ou CNPJ será altamente seletiva, pois irá retornar apenas um registro dentre toda a tabela. 2. A. B. C. Onde D = Densidade, M = Massa e V é igual ao Volume. d. SELECT (1.0 / Count(Distinct <Column>)) 3. A. B. A. 5. A. B. I. 1. 2. 1. 2. 3. Ii. DECLARE @I Int SELECT * FROM <tabela> WHERE <Coluna> = @I iii.

WHERE <coluna> = dbo.fn_FormataTexto(‘Texto’) iv. V. C. D. 1. – Para =, Usa COUNT(*) * Density da coluna ou seja, COUNT(*) * (1.0 / (COUNT (DISTINCT <coluna>))) 3. 4. 7. 8. 11. 12. E. 2. 3. OBJECT:([dbo]. 6. A. B. Query Optimizer VS Foreign Keys - Windows Live. Pessoal, depois da WebCast que fiz falando sobre o Query Optimizer, quero compartilhar um caso onde na minha opinião ele infelizmente não foi tão esperto assim :-( Por sinal o vídeo já esta disponível para download…. é só acessar o link de cadastro para a webcast e baixar… Veja bem, no meu banco de dados tenho 2 tabelas assim… CONCC030 – Tabela de propostas, e CONCC036 tabela que relaciona uma proposta com uma Cota. As chaves das duas tabelas são, ID_Empresa, ID_Documento, ID_Tipo_Documento. Na tabela CONCC036 eu tenho uma foreign key forçando a integridade entre as tabelas. Tenho uma consulta assim: SELECT ID_Bem FROM CONCC030 INNER JOIN CONCC036 ON CONCC036.ID_Tipo_Documento = CONCC030.ID_Tipo_Documento AND CONCC036.ID_Documento = CONCC030.ID_Documento WHERE CONCC036.ID_Empresa = 1 AND CONCC036.ID_Cota = 123456 Com certeza o desenvolvedor que escreveu esta consulta não especificou o ID_Empresa no join justamente porque ele sabia que a coluna seria utilizada no where.

Abraço…