Como optimizar o Microsoft Access quando utilizar origens de dados ODBC

Traduções de Artigos Traduções de Artigos
Artigo: 286222 - Ver produtos para os quais este artigo se aplica.
Avançado: Requer conhecimentos avançados sobre codificação, interoperabilidade e multi-utilizador.

Este artigo aplica-se apenas a uma base de dados do Microsoft Access (.mdb ou .accdb). Para obter uma versão de Microsoft Access 2000 deste artigo, consulte 209091.
Para obter uma versão de Microsoft Access 97 deste artigo, consulte 113551.
Expandir tudo | Reduzir tudo

Sumário

Este artigo descreve várias sugestões para melhorar o desempenho quando acede a dados a partir de uma origem de dados ODBC.

Mais Informação

Utilize as seguintes sugestões para melhorar o desempenho com o ODBC origens de dados:
  • Restringir a quantidade de dados que pode pede ao servidor. Não pedir dados mais do que necessita. Utilize consultas para seleccionar apenas os campos e linhas que necessita.
  • Utilize a funcionalidade que necessita. Snapshots são menos poderosos do que os dynasets e não são actualizáveis. No entanto, instantâneos poderão ser mais rápidos, sobretudo para pequenos conjuntos de registos sem campos Memo ou objecto OLE.
  • Crie tabelas ligadas (anexadas) aceder aos dados do servidor. Evitar o acesso ao servidor "directa" (ou seja, não abrir bases de dados remotas e executar consultas contra-los). Em vez disso, criar tabelas anexadas ou criar consultas pass-through.
  • Crie caixas de listagem e caixas de combinação wisely. Num formulário, cada caixa de listagem, caixa de combinação, subformulário e controlo que contém um total requer uma consulta separada. Com dados locais, desempenho poderá ser adequado. No entanto, com dados remotos, longos atrasos podem ocorrer quando abre um formulário, uma vez que cada consulta deve ser enviada para o servidor e deve ser devolvida uma resposta antes de pode abrir o formulário.
  • Evite caixas de combinação grandes. Incluir uma combinação caixa com centenas ou mesmo milhares de opções com base numa tabela local poderão ter um tempo de resposta aceitável, sobretudo se definir um índice apropriado na tabela local. Contra uma tabela remota, no entanto, uma caixa de combinação proporciona desempenho lento porque gasta servidor e recursos de rede à medida que obtém dados para preencher a lista. É melhor limitar o número de linhas devolvidas à caixa de combinação quando estiver a trabalhar com dados remotos. Pode também dividir os dados em caixas de combinação mais pequenas (com Lembre-se a sugestão acima).
  • Utilize o comando Localizar apenas em conjuntos de registos mais pequenos. O motor de base de dados do Microsoft Jet optimiza o comando Localizar para funcionar bem com conjuntos de registos locais de praticamente qualquer tamanho e com conjuntos de registos remotos de tamanho razoável. No entanto, quando tiver conjuntos de grandes registos remotos (milhares de registos ou mais), deve, em vez disso, criar um filtro ou consulta e também tenha cuidado para utilizar restrições que o servidor pode processar.
  • Certifique-se de consultas são enviadas para o servidor para processamento. O factor mais importante no desempenho das consultas com dados remotos é garantir que o servidor é executado como parte da consulta como possíveis. O Microsoft Jet motor de base de dados tenta enviar a consulta completa para o servidor, mas avalia localmente as cláusulas de consulta e expressões que não são suportadas normalmente por servidores ou pelo seu servidor específico. Funcionalidade não suportada por servidores em geral inclui:
    • Operações que não podem ser expressas no SQL única instrução. Esta situação pode ocorrer quando utiliza uma consulta como uma entrada para outra consulta, ou quando a consulta cláusula FROM contém uma consulta de totais ou consulta DISTINCT. Muitas vezes, pode reorganizar as consultas para calcular totais depois de todos os outras operações.
    • Operações que são extensões de motor específicas de base de dados do Microsoft Jet para SQL, tais como consultas de referência cruzada, consultas TOP e relatórios com vários níveis de agrupamento e totais. Tenha em atenção que as consultas de referência cruzada simples podem ser enviadas para servidores.
    • Expressões que contenham específicos do Microsoft Access operadores ou funções. Que funções financeiras do Microsoft Access os agregados estatísticos não têm servidor equivalentes.
    • Definido pelo utilizador Visual Basic para funções de aplicações que tiram remotos colunas como argumentos. Estas funções não existem no servidor, mas devem processar dados da coluna remoto. No entanto, se uma função definida pelo utilizador devolve um valor único e não referencia uma coluna remota, a função é avaliada localmente e respectivo valor é enviado para o servidor para processamento.
    • Misturar texto e tipos de dados numéricos em operadores ou UNION consulta produz. A maior parte dos servidores faltam leniency o tipo de dados do Microsoft Access. Deste modo, utilize funções de conversão explícita onde adequado.
    • Associações heterogéneas entre tabelas locais e tabelas remotas ou entre tabelas remotas em diferentes origens de dados ODBC. Associações entre pequenas tabelas locais e grandes tabelas remotas, em que a coluna de associação está indexada, poderão resultar numa associação de índice remota. Na associação de índice remota, uma consulta para cada linha na tabela local é enviada para o servidor e apenas as unir linhas são devolvidas.
    • Expressões não remoteable ou expressões que não podem ser enviadas remotamente, porque não pode ser avaliadas pelo servidor. As expressões de saída não remoteable (aqueles na cláusula SELECT) não force a avaliação local da consulta, a menos que ocorrem numa consulta de totais, uma consulta DISTINCT ou uma consulta UNION. Expressões não remoteable outras cláusulas (WHERE, ORDER BY, GROUP BY, HAVING, e assim sucessivamente), pelo menos, forçar parte da sua consulta a ser avaliada localmente.
  • Servidores diferem em algumas áreas de funcionalidade suportada. Quando anexar uma tabela remota, as consultas do motor de base de dados do Microsoft Jet o controlador ODBC para as suas capacidades. Se a funcionalidade necessária for suportada, o controlador e o servidor, o motor de base de dados do Microsoft Jet envia a operação para o servidor para processamento. Caso contrário, o motor de base de dados do Microsoft Jet executa a operação localmente. Áreas de suporte diferente incluem (mas não estão limitadas para) o seguinte:
    • Associações externas. Tenha em atenção que o motor de base de dados do Microsoft Jet não envia várias associações externas para um servidor, apesar de muitas associações internas podem acompanhar uma única associação externa.
    • Numéricos, de cadeia e data/hora funções--tais como Log() , Mid$() , PartData() e assim sucessivamente.
    • Funções de conversão--tais como CInt() , CStr() , CVDate() e assim sucessivamente.

Propriedades

Artigo: 286222 - Última revisão: 26 de março de 2007 - Revisão: 7.1
A informação contida neste artigo aplica-se a:
  • Microsoft Office Access 2007
  • Microsoft Office Access 2003
  • Microsoft Access 2002 Standard Edition
Palavras-chave: 
kbmt kbperformance kbhowto kbinterop KB286222 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 revisto ou traduzido por humanos. A Microsoft tem artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais. O objectivo é simples: oferecer em Português a totalidade dos artigos existentes na base de dados do suporte. Sabemos no entanto que a tradução automática não é sempre perfeita. Esta pode conter erros de vocabulário, sintaxe ou gramática? erros semelhantes aos que um estrangeiro realiza ao falar em Português. A Microsoft não é responsável por incoerências, erros ou estragos realizados na sequência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza actualizações frequentes ao software de tradução automática (MT). Obrigado.
Clique aqui para ver a versão em Inglês deste artigo: 286222

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