ACC2000: Otimizando para desempenho de cliente/servidor

Traduções deste artigo Traduções deste artigo
ID do artigo: 208858 - Exibir os produtos aos quais esse artigo se aplica.
Avançadas: Requer especialista de codificação, interoperabilidade e habilidades de multiusuário.

Este artigo se aplica somente a um banco de dados do Microsoft Access (.mdb).

Expandir tudo | Recolher tudo

Neste artigo

Sumário

Este artigo lista dicas para otimizar o desempenho de fontes de dados ODBC (Open Database Connectivity) no Microsoft Access.

Observação : Este artigo pressupõe que você está familiarizado com arquiteturas e ambientes de cliente/servidor.

Mais Informações

Métodos de acessar dados

Para acessar dados do servidor com um aplicativo cliente/servidor, você pode usar um ou mais dos seguintes métodos:

  • Tabelas vinculadas e modos de exibição
  • Consultas passagem SQL para enviar instruções SQL diretamente para o servidor
  • Um projeto do Access

Tabelas e exibições vinculadas

A maneira mais eficiente para manipular dados do servidor é vincular tabelas e modos de exibição do servidor. Microsoft Access armazena informações de campo e o índice para tabelas vinculadas. Isso melhora o desempenho quando você abre as tabelas.

Observação : se você fizer alterações aos campos ou índices no servidor, você deve vincular novamente as remotas tabelas no Access.

Executando consultas passagem SQL

Em muitos aplicativos, você pode criar consultas do Microsoft Access com base em tabelas remotas e também criar consultas passagem SQL. Consultas passagem oferecem as seguintes vantagens:
  • Microsoft Access não compila uma consulta passagem. Ele envia a consulta diretamente para o servidor ODBC. Isso acelera o aplicativo.
  • Acesso envia a consulta passagem para o servidor exatamente como ele foi inserido. Portanto, mais processamento ocorre no servidor e menos dados são trocados pela rede.
  • Formulários, relatórios e consultas do Microsoft Access podem se basear em consultas passagem usando tabelas ODBC vinculada.
  • Você pode usar funcionalidades específicas do SQL Server (tais como procedimentos armazenados e funções intrínsecas com base no servidor) que não possui nenhum equivalente no código.
  • Atualizar, excluir e acrescentar passagem ação consultas são muito mais rápidas do que consultas de ação com base em tabelas vinculadas remotas, especialmente quando muitos registros forem afetados.
As consultas passagem têm as seguintes desvantagens:
  • Uma consulta passagem SQL sempre retorna um instantâneo não pode ser atualizado. Uma consulta do Microsoft Access normalmente retorna um dynaset que reflete as alterações de outros usuários e pode ser atualizada.
  • Será necessário digitar os comandos diretamente na janela Consulta passagem SQL com a sintaxe que o servidor requer. Você não pode criar consultas passagem na grade de design da consulta.
  • Se você precisar de um parâmetro com uma consulta passagem, você deve executar a consulta no código e modificar a propriedade da consulta SQL . Para obter informações adicionais e um exemplo de como modificar a propriedade SQL, clique no número abaixo para ler o artigo na Base de dados de Conhecimento da Microsoft:
    232493ACC2000: Como Simulate parâmetros em uma consulta de passagem SQL

Solicitar menos dados de servidor

Solicitando dados os custos de servidor de tempo de processamento. Para otimizar o desempenho, solicite somente os registros e campos que você precisa.

Reduza o número de controles acoplados, como caixas de texto, caixas de combinação, caixas de listagem e subformulários. Quando um formulário é aberto, cada um desses controles envia uma consulta separada para o servidor.

Se as tabelas ODBC vinculadas têm campos objeto OLE ou Memorando, você pode definir a propriedade Visible dos campos como não e adicione um botão de alternância definir a propriedade Visible como Sim para que os usuários podem optar por exibi-lo.

Algumas tabelas vinculadas não são alterados com freqüência. Por exemplo, uma tabela contendo os nomes e abreviações dos 50 estados não deve alterar com freqüência. Você pode acelerar o carregamento de formulário e reduzir a carga do servidor armazenando uma cópia local dessas tabelas. Você também pode fornecer uma maneira de atualizar a cópia local com dados mais recentes do servidor.

Otimização de consultas

O método principal para otimizar consultas (depois de adicionar índices apropriados no servidor) é garantir que um processamento ocorre no servidor. Você deve evitar funcionalidade que não é suportada pelo servidor, como funções específicas do Microsoft Access ou funções definidas pelo usuário. Para obter informações detalhadas sobre o que deve ser processado localmente, consulte o Microsoft Jet Database Engine ODBC Connectivity white paper (para obter mais informações sobre este white paper, consulte a seção "Microsoft Jet Database Engine ODBC conectividade white paper" mais adiante neste artigo).

Para ver a instrução SELECT que está sendo enviada para o servidor, você pode definir o TraceSQLMode configuração. Para definir isso, execute estas etapas:
  1. Clique em menu Iniciar e, em seguida, clique em Executar .
  2. Na caixa de diálogo Abrir , digite Regedit .
  3. Expanda a subárvore HKEY_LOCAL_MACHINE até que você localize a subchave SOFTWARE\Microsoft\Jet\4.0\Engines.
  4. Clique em mecanismos .
  5. Se o valor TraceSQLMode não aparecer no painel direito, clique em novo no menu Editar e, em seguida, clique em Valor DWORD .
  6. Em nome no painel à direita, digite TraceSQLMode para o novo valor.
  7. Com o novo valor ainda selecionado, clique em Modificar no menu Editar .
  8. Em base , selecione decimal . Na caixa dados do valor , digite 1 e, em seguida, clique em OK .
Para obter mais informações sobre a configuração TraceSQLMode, clique em Ajuda do Microsoft Access no menu Ajuda, digite "TraceSQLMode" no Assistente do Office ou no Assistente de resposta e, em seguida, clique em Pesquisar para exibir o tópico.

Configuração TryJetAuth

O TryJetAuth determina se o Microsoft Access primeiro tenta efetuar logon seu servidor usando a identificação de logon do Microsoft Access e a senha. (Por padrão, a identificação de logon do Microsoft Access é "admin" e a senha está em branco.) Se isso falhar, o Microsoft Access solicitará uma identificação de logon e senha. A menos que você tenha defina até o Microsoft Access para usar a mesma identificação de logon e a senha como seu servidor ODBC, adicione a linha "TryJetAuth = 0" para a chave HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Jet\4.0\ODBC\TryJetAuth do Registro. Isso impede que o Microsoft Access tentando fazer logon com a identificação errada. Para fazer isso, execute as seguintes etapas:
  1. Clique em Iniciar e, em seguida, clique em Executar .
  2. Na caixa de diálogo Abrir , digite Regedit .
  3. Localize a subárvore HKEY_LOCAL_MACHINE.
  4. Expanda a subárvore HKEY_LOCAL_MACHINE até que você localize a seguinte subchave:
    SOFTWARE\Microsoft\Jet\4.0\ODBC\TryJetAuth
  5. Clique em mecanismos .
  6. Se o valor TryJetAuth não estiver lá, clique em novo no menu Editar e, em seguida, clique em Valor DWORD .
  7. Em nome no painel à direita, digite TryJetAuth para o novo valor.
  8. Com o novo valor ainda selecionado, clique em Modificar no menu Editar .
  9. Em base , selecione decimal . Na caixa dados do valor , digite 1 e, em seguida, clique em OK .

Carimbos de data/hora

Em servidores que dá suporte para eles, como o Microsoft SQL Server, campos de carimbo de data/hora tornam registros de atualização mais eficiente. Campos de carimbo de data/hora são mantidos pelo servidor e são atualizados toda vez que o registro é atualizado.

Se você tiver um campo de carimbo de data/hora, o Microsoft Access precisará verificar somente o índice exclusivo e o campo de carimbo de data/hora para ver se o registro foi alterado desde que foi última recuperadas do servidor. Caso contrário, o Microsoft Access precisa verificar todos os campos no registro. Se você adicionar um campo de carimbo de data/hora a uma tabela vinculada, vincular novamente a tabela para informar ao Microsoft Access do novo campo.

Transações

Usar transações no Visual Basic for Applications (VBA) quando você atualizar ou insere registros em tabelas vinculadas pode melhorar o desempenho. Transações de ativar o mecanismo de banco de dados Jet acumular várias atualizações e gravá-los como um único lote. Com o Microsoft SQL Server, manter transações curtas porque elas geram bloqueios que impedem que outros usuários lendo dados afetados pela transação atual. Embora você pode aninhar transações com o VBA, a maioria dos servidores não têm suporte transações aninhadas. Microsoft Access envia apenas a transação de primeiro nível para o servidor.

Otimizar código e conjuntos de registros

Você pode armazenar todos ou parte dos dados contidos em objetos Recordset do tipo Dynaset na memória local, definindo as propriedades CacheSize e CacheStart .

O tamanho do cache pode estar entre 5 e 1200 registros. Se o tamanho do cache exceder a memória disponível, os registros em excesso derrubar em um arquivo de disco temporário. Aplicar o método FillCache preenche o cache com dados do servidor. Para recuperar a memória cache, defina a propriedade CacheSize para zero.

Com variáveis do Recordset, implemente apenas a funcionalidade que você precisa. Por exemplo, adicione a opção dbAppendOnly com o método OpenRecordset caso você precise adicionar novos registros para um conjunto de registros. Se você não precisa de edição ou atualizando a capacidade, baseie seus conjuntos de registros em SQL consultas passagem. O método mais rápido para inserir e atualizar registros é usar consultas passagem SQL no código.

Tabela MSysConf

Você pode criar uma tabela denominada MSysConf em seu servidor a população de plano de fundo do controle (a taxa em que o Microsoft Access lê registros do servidor durante o tempo ocioso). Com essa tabela, você pode definir o número de linhas de dados são recuperados de uma só vez e o número de segundos de atraso entre cada recuperação. Se você tiver excessiva leitura-bloqueio no servidor, você pode ajustar as configurações de tabela para aumentar a velocidade de população de plano de fundo. Se muito tráfego de rede é gerado pelo preenchimento de plano de fundo, você pode ajustar as configurações para diminuir a velocidade.

Microsoft Jet Database Engine ODBC conectividade white paper

Uma fonte importante para obter informações adicionais é o white paper "Jet Database Engine ODBC Connectivity". Este documento foi escrito para Jet 3.0; no entanto, essas informações ainda se aplica ao Jet 4.0. Este documento discute o mecanismo de banco de dados Microsoft Jet 3.0 e como ele usa ODBC. O white paper pode ser baixado do site da Microsoft:
http://download.microsoft.com/download/access95/whitep5/1/W98/EN-US/Rjwpv3.exe

Um projeto do Access

Um projeto do Access usa OLEDB para vincular a Microsoft SQL Server 6.5 ou 7.0. Se todas as tabelas em seu banco de dados do Access forem tabelas vinculadas para SQL Server, para melhorar o desempenho em vez disso, você pode criar um projeto do Access. No entanto, se seu banco de dados contém quaisquer tabelas do Access, esta opção não é possível.

Propriedades

ID do artigo: 208858 - Última revisão: quinta-feira, 29 de março de 2007 - Revisão: 3.3
A informação contida neste artigo aplica-se a:
  • Microsoft Access 2000 Standard Edition
Palavras-chave: 
kbmt kbdownload kbhowto kbusage KB208858 KbMtpt
Tradução automática
IMPORTANTE: Este artigo foi traduzido por um sistema de tradução automática (também designado por Machine Translation ou MT), não tendo sido portanto traduzido ou revisto por pessoas. A Microsoft possui artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais, com o objetivo de oferecer em português a totalidade dos artigos existentes na base de dados de suporte. No entanto, a tradução automática não é sempre perfeita, podendo conter erros de vocabulário, sintaxe ou gramática. A Microsoft não é responsável por incoerências, erros ou prejuízos ocorridos em decorrência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza atualizações freqüentes ao software de tradução automática (MT). Obrigado.
Clique aqui para ver a versão em Inglês deste artigo: 208858

Submeter comentários

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com