[A BÍBLIA DO VBA NO ACCESS]: MACROS E PROGRAMAÇÃO VBA NO ACCESS - CURSO COMPLETO

Páginas: 1164 | Autor: Júlio Battisti | 50% de Desconto e 21 Super Bônus

Você está em: PrincipalArtigosSQL Server 2005 › Capítulo 04 : 16
Quer receber novidades e e-books gratuitos?
›››
« Lição anterior Δ Página principal ¤ Capítulos Próxima lição »
SQL Server 2005 - CURSO COMPLETO
Autor: Júlio Battisti
Lição 064 - Capítulo 04 - CRIANDO ÍNDICES USANDO COMANDOS T-SQL

Agora aprenderemos uma série de comandos para trabalhar com índices. Além dos comandos para a criação de índices aprenderemos alguns Stored Procedures internos do SQL Server 2005, para a verificação e manutenção de índices.

Para criar índices utilizamos o comando CREATE INDEX. A seguir temos a sintaxe para o comando CREATE INDEX, conforme descrito no Books OnLine:

CREATE [ UNIQUE ] [ CLUSTERED |  NONCLUSTERED ] INDEX index_name
ON { table | view } ( column [ ASC |  DESC ] [ ,...n ] )
[WITH < index_option > [ ,...n]  ]
[ ON filegroup ]
< index_option > :: =
{ PAD_INDEX |
FILLFACTOR = fillfactor |
IGNORE_DUP_KEY |
DROP_EXISTING |
STATISTICS_NORECOMPUTE |
SORT_IN_TEMPDB
}

Mais uma vez vamos simplificar a sintaxe para este comando. No formato simplificado teríamos os seguinte:

CREATE [  UNIQUE ] [ CLUSTERED | NONCLUSTERED ] INDEX index_name 
ON { table | view }
( column [  ASC | DESC ] [ ,...n ] )

O banco de dados NorthWind era um banco de dados fornecido como banco de dados de Exemplo, com o SQL Server 2000. O Northwind não é mais instalado com o SQL Server 2005. Mas é possível importar o Northwind de uma instância do SQL Server 2000, para uma com o SQL Server 2005. Foi exatamente o que eu fiz, para ter o banco de dados Northwind disponível no SQL Server 2005, banco este que será utilizado em vários exemplos deste livro. Para todos os detalhes sobre como Importar o banco de dados Northwind, de uma instância do SQL Server 2000 para uma instância do SQL Server 2005, consulte o Anexo, no final deste livro.

Vamos a um exemplo prático. Para criar o seguinte índice:

  • Tabela Customers do Banco de Dados Northwind
  • Nome: CityIndex
  • Colunas: City
  • Permitir valores duplicados.

utilizaríamos o seguinte comando:

CREATE INDEX CityIndex ON Customers (City)

Vamos a um exemplo um pouco mais elaborado. Qual seria o comando para criar o seguinte índice?

  • Tabela Customers do Banco de Dados Northwind
  • Nome: PK_Customers
  • Colunas: CustomerID
  • Não permitir valores duplicados.

Neste caso, utilizaríamos o seguinte comando:

CREATE UNIQUE CLUSTERED
INDEX PK_Customers ON Customers (CustomerID)
WITH DROP_EXISTING

Ao utilizarmos a opção WITH DROP_EXISTING estamos orientando o SQL Server a excluir o índice caso ele já exista, e a recriá-lo novamente. Se não utilizarmos esta opção e o índice já existir, será emitida a seguinte mensagem de erro:

Msg 1913, Level 16, State 1,  Line 1
The operation failed because an index or statistics with name 'PK_Customers' already exists on table 'dbo.Customers'.

Vamos a mais um exemplo. Agora vamos criar um índice composto com as seguintes características:

  • Tabela Customers do Banco de Dados Northwind
  • Nome: EnderecoIndex
  • Colunas: Address, City e Region
  • Não permitir valores duplicados
  • Ignorar valores duplicados.

Neste caso utilizaríamos o seguinte comando:

CREATE UNIQUE INDEX EnderecoIndex
ON Customers (Address, City, Region)
WITH IGNORE_DUP_KEY

Neste caso utilizamos a opção UNIQUE para criar um índice único e a opção WITH IGNORE_DUP_KEY para ignorar valores duplicados já existentes.

Algumas considerações para a criação de índices compostos por mais do que um campo:

1. Podemos criar um índice composto por, no máximo, 16 colunas. Além disso a soma do tamanho das 16 colunas não pode ultrapassar 900 bytes.
2. Todas as colunas de um índice composto devem pertencer a mesma tabela. Como no SQL Server 2005 podemos criar índices em Views (consultas) e uma View pode retornar dados de várias colunas, ao criarmos um índice composto em uma View, as colunas que formam o índice composto devem pertencer a mesma tabela.
3. Em termos de desempenho, devemos definir a coluna que possui valores mais diferenciados em primeiro lugar. Por exemplo, no índice EnderecoIndex, do qual fazem parte as colunas: Address, City e Region, a coluna que apresenta a maior variação, com certeza é a coluna Address (existem muitos endereços em uma cidade), depois a coluna City (existem muitas cidades em uma região) e por último a coluna Region. Ao definirmos o índice devemos passar as colunas nesta mesma ordem, pois isso melhora o desempenho das consultas.
4. Desta maneira podemos concluir que a ordem das colunas importa no desempenho, além disso os dois comandos a seguir, definem índices diferentes. Observe que a única diferença entre os dois é a ordem das colunas:

CREATE UNIQUE INDEX  EnderecoIndex
ON Customers (Address, City, Region)
WITH IGNORE_DUP_KEY

e

CREATE UNIQUE INDEX  EnderecoIndex
ON Customers (City, Address, Region)
WITH IGNORE_DUP_KEY

5. Ao construirmos uma consulta, a cláusula WHERE deve fazer referência a todas as colunas do índice composto, caso contrário o índice não será utilizado.

« Lição anterior Δ Página principal ¤ Capítulos Próxima lição »

Best Sellers de Excel do Julio Battisti

Todos com Vídeo Aulas, E-books e Planilhas de Bônus!

Aprenda com Júlio Battisti:
Excel 2010 Básico em 140 Lições - Através de Exemplos Práticos - Passo a Passo

 Aprenda com Júlio Battisti: Excel 2010 Básico em 140 Lições - Através de Exemplos Práticos

 

Autor: Júlio Battisti | Páginas: 540 | Editora: Instituto Alpha

 

[Livro]: Aprenda com Júlio Battisti: Excel 2010 Básico em 140 Lições - Através de Exemplos Práticos

Aprenda com Júlio Battisti: Excel 2010 Avançado, Análise de Dados, Tabelas Dinâmicas, Funções Avançadas, Macros e Programação VBA - Passo a Passo

Livro: Aprenda com Júlio Battisti: Excel 2010 Avançado, Análise de Dados, Tabelas Dinâmicas, Funções Avançadas, Macros e Programação VBA - Passo a Passo

 

Autor: Júlio Battisti | Páginas: 952 | Editora: Instituto Alpha

 

Livro: Aprenda com Júlio Battisti: Excel 2010 Avançado, Análise de Dados, Tabelas Dinâmicas, Funções Avançadas, Macros e Programação VBA - Passo a Passo

Aprenda com Júlio Battisti: Macros e Programação VBA no Excel 2010 Através de Exemplos Práticos e Úteis - Passo a Passo

 

[LIVRO]: Aprenda com Júlio Battisti: Macros e Programação VBA no Excel 2010 Através de Exemplos Práticos e Úteis - Passo a Passo

 

Autor: Júlio Battisti | Páginas: 1124 | Editora: Instituto Alpha

 

[LIVRO]: Aprenda com Júlio Battisti: Macros e Programação VBA no Excel 2010 Através de Exemplos Práticos e Úteis - Passo a Passo

Aprenda com Júlio Battisti: Excel 2010 - Curso Completo - Do Básico ao Avançado, Incluindo Macros e Programação VBA - Através de Exemplos Práticos

 

[A BÍBLIA DO EXCEL]: Aprenda com Júlio Battisti: Excel 2010 - Curso Completo - Do Básico ao Avançado, Incluindo Macros e Programação VBA - Através de Exemplos Práticos Passo a Passo

 

Autor: Júlio Battisti | Páginas: 1338 | Editora: Instituto Alpha

 

[A BÍBLIA DO EXCEL]: Aprenda com Júlio Battisti: Excel 2010 - Curso Completo - Do Básico ao Avançado, Incluindo Macros e Programação VBA - Através de Exemplos Práticos Passo a Passo

Todos os livros com dezenas de horas de vídeo aulas de bônus, preço especial (alguns com 50% de desconto). Aproveite. São poucas unidades de cada livro e por tempo limitado.

Dúvidas?

Utilize a área de comentários a seguir.

Me ajude a divulgar este conteúdo gratuito!

Use a área de comentários a seguir, diga o que achou desta lição, o que está achando do curso.
Compartilhe no Facebook, no Google+, Twitter e Pinterest.

Indique para seus amigos. Quanto mais comentários forem feitos, mais lições serão publicadas.

Quer receber novidades e e-books gratuitos?
›››

Novidades e E-books grátis

Fique por dentro das novidades, lançamento de livros, cursos, e-books e vídeo-aulas, e receba ofertas de e-books e vídeo-aulas gratuitas para download.



Institucional

  • Quem somos
  • Garantia de Entrega
  • Formas de Pagamento
  • Contato
  • O Autor
  • Endereço

  • Júlio Battisti Livros e Cursos Ltda
  • CNPJ: 08.916.484/0001-25
  • Rua Vereador Ivo Cláudio Weigel, 537 Universitário
  • Santa Cruz do Sul/RS
  • CEP 96816-208
  • Todos os direitos reservados, Júlio Battisti 2001-2017 ®

    [LIVRO]: MACROS E PROGRAMAÇÃO VBA NO EXCEL 2010 - PASSO-A-PASSO

    APRENDA COM JULIO BATTISTI - 1124 PÁGINAS: CLIQUE AQUI