Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Melhores Práticas
Desempenho, Queries e
Outras Facilidades
Alvaro Pereira Neto
Tabelas Temporárias - TempDB
•http://
www.codeproject.com/KB/database/TempTable.aspx
Índices Clusterizados –
• Funcionam como num dicionário ou uma agenda telefônica (as
informações estão ordenadas de forma ascendente, e são inseridas
ordenadamente no índice);
• Pode ocorrer apenas um por tabela;
• As PKs são criadas, por padrão (quando não se informa o
contrário), clusterizadas.
• Muito utilizados para colunas que possuem faixas de valores (por
exemplo: datas, anos, etc) ou que utilizam ordenações frequentes.
Exemplos
Exemplos
Alvaro Pereira Neto
Índices Clusterizados e Não Cluserizados
Conclusão
Locks Compartilhados -
Os bloqueios podem ser compartilhados, e este é o
caso que vamos tratar (compartilhamento de LOCKs em
SELECTs).
Os Locks, no SQL Server, podem ser: ROWLOCK,
TABLOCK, PAGLOCK, XLOCK (Exclusivo), UPLOCK,
HOLDLOCK (para Transações), NOLOCK.
O SQL Server disponibiliza um Handle Compartilhado
para SELECTs, o qual é compartilhado com as outras
conexões e é utilizado pelo gerenciador de Locks.
NOLOCK –
O resultado de leituras com nolock são as chamadas leituras
sujas, visto que poderão ser lidas linhas de um UPDATE que está
ocorrendo agora na tabela.
Exemplos
SELECT id_processo
FROM CONTROLE_PROCESSO..PROCESSO WITH (NOLOCK)
WHERE Proc_Ano_Processo BETWEEN 1999 AND 2008
Exemplos (Exemplo 4)
Os tipos de dados do SQL Server serão mostrados na
documentação oficial da Microsoft (SQL Server Books-OnLine).
Exemplos 5
CONCLUSÃO
– Onde e como utilizar ?
Procure por CAST e CONVERT
no Books Online.
SELECT Description
FROM Production.ProductDescription
WHERE CONTAINS(Description, 'bike NEAR performance')
GO
SELECT Description
FROM Production.ProductDescription
WHERE CONTAINS(Description, ' FORMSOF (INFLECTIONAL, ride) ')
GO -- servirão os valores ride, riding, ridden, e todas as flexões deste verbo.
SELECT Name
FROM Production.Product
WHERE CONTAINS(Name, ' "Chain*" ')
GO
SELECT Name
FROM Production.Product
WHERE CONTAINS(Name, ' "Mountain" OR "Road" ')
GO
SELECT Name
FROM Production.Product
WHERE CONTAINS(Name, ' ("chain*" OR "full*") AND "nothing*" ')
GO
Melhores Práticas
(Apresentar Cursores)
Conclusões, Perguntas e
Finalização.
Alvaro Pereira Neto