Informácie o výkonnosti dotaz v databáze programu Access

Preklady článku Preklady článku
ID článku: 209126 - Zobraziť produkty, ktorých sa tento článok týka.
Mierna: Vyžaduje základné makro, kódovanie a interoperabilitu zručnosti.

Tento článok sa uplatňuje iba na databázu programu Microsoft Access (.mdb).

Pre prístup 97 verziu tohto článku, pozri 112112.
Rozbaliť všetko | Zbaliť všetko

Na tejto stránke

ÚVOD

Tento článok sa zaoberá optimalizovať dotazu v Aplikácie Microsoft Access 2000, Microsoft Access 2002 a v programe Microsoft Office Access 2003. V nasledujúcich témach sú zahrnuté:
  • Dotaz optimalizácia pre databázu Microsoft Jet motor
  • Dotaz časovanie
  • Analyzovanie výkonu
  • Tipy na zlepšenie dotazu výkonu
Tento článok predpokladá, že miestne tabuliek databázy prepojené (alebo pripojené) tabuliek. Ak sú spojené your tables to informácie stále platí. Existujú však aj ďalšie otázky, ktoré ovplyvňujú dotaz výkon s prepojené tabuľky. Ďalšie informácie o zlepšenie výkon s prepojené tabuľky, môžete vyhľadávať Microsoft Knowledge Base v pomocou nasledujúceho reťazca:
ODBC, optimalizácia a tabuliek

DALSIE INFORMACIE

Dotaz optimalizácia pre databázový nástroj Microsoft Jet

Databázový nástroj Jet obsahuje niekoľko zložiek, ale najviac dôležitou zložkou dotazy (a najkomplexnejšie) je optimalizácia. V Optimizer je založená na nákladoch. To znamená, že Optimizer priradí čas nákladmi Každý dotaz na úlohu a potom vyberie najlacnejších zoznam úloh vykonávať vytvára určené množiny. Dlhšie trvá úlohu vykonať, drahšie túto úlohu je.

Rozhodnúť, aké dotaz stratégiu pre využitie, Optimalizácia používa štatistiky. Tieto faktory sú niektoré faktory že tieto štatistiky sú založené na:
  • Počet záznamov v tabuľke
  • Počet strán údajov v tabuľke
  • Umiestnenie tabuľky
  • Či sú prítomné indexy
  • Ako jedinečný indexy sú
Na základe týchto štatistík, optimalizácia potom vyberie najlepšie vnútorného dotaz stratégie na riešenie konkrétneho dotazu.

V Štatistiky sa aktualizujú vždy, keď dotaz zostavené. Dotaz nastavený príznak zostavenie pri ukladaní akýchkoľvek zmien na dotaz (alebo jeho podkladové tabuľky) a keď zhutnení databázy. Ak dotaz nastavený príznak pre zostavovanie, zostavenie a aktualizáciu štatistiky vyskytne nabudúce, že dotaz je spustiť. Zostavenie zvyčajne trvá od druhého štyri sekundy.

Ak Pridajte výrazný počet záznamov do databázy, musíte otvoriť a potom uložiť vaše otázky prekompilovať dotazy. Ak navrhujete napríklad a potom otestovať dotaz pomocou malej skupiny vzorové údaje, musia re-compile dotaz po dodatočné záznamy sú pridané do databázy. Keď urobíte, budete chcete sa uistiť, že optimálna dotaz výkon je dosiahnutý pri vašej žiadosť sa používa.

Poznámka: Nemôžete zobraziť Jet databázy motor optimalizácia systémov a vy nie je možné zadať ako optimalizovať dotazu. Avšak, môžete použiť databázy Dokumentácie určiť, či sú prítomné indexy a ako jedinečný index je.

Ďalšie informácie o probléme, ktorý sa môže vyskytnúť pri použití dokumentácie databázy v programe Access 2000, po kliknutí na nasledovné číslo článku databázy Microsoft Knowledge Base:
207782ACC2000: Chyba pri používaní databázy Dokumentácie, ak sú otvorené objekty

Dotaz časovanie

Existujú dve významné čas merania pre výberový dotaz:
  • Čas zobrazenia prvej obrazovke údajov
  • Čas získania posledného záznamu
Ak dotaz vráti len jednu obrazovku údajov, tieto dve časové merania sú rovnaké. Ak dotaz vracia veľa záznamov, tieto časové merania môže byť veľmi odlišná.

Ak sa dve merania rovnaké pri zobrazení výberový dotaz v údajovom zobrazení, uvidíte obrazovku údajov a celkový počet záznamov vrátených dotazom, ako napríklad "záznamu 1 z N." Ak je to rýchlejšie pre databázový nástroj Jet Zobrazí prvú obrazovku údajov, než aby dokončenie dotazu a potom načítať posledného záznamu, uvidíte obrazovku údaje, ale nie N v "1 záznamu o N". V N hodnota je prázdne, kým sa dotaz nedokončí, alebo kým ste prejdite nadol do posledného záznamu.

Toto správanie je výsledok databázový nástroj Jet výberom jednej z dvoch výkon stratégií:
  • Dokončiť dotaz a potom zobraziť údaje
  • Zobraziť údaje a potom dokončíte dotaz
Nemôžete ovládať stratégie, ktorá sa používa. Databázy Jet motor sa vyberie stratégie, ktorá je najúčinnejšia.

Analyzovanie výkonu

Ak používate Microsoft Access 7.0, Access 97, Access 2000, Program Access 2002 alebo Access 2003, môžete použiť výkon analyzátora analyzovať dotazy v databáze. Pretože dotaz výkon analýzy je úzko viazaná na databázový nástroj Jet, výkon analyzátora naznačuje, pridanie indexy len vtedy, keď indexy sa skutočne použije databázový nástroj Jet optimalizovať dotaz. To znamená, že výkon analyzátora môže poskytnúť výkon tipy, ktoré sú viac špecifické pre databázu ako všeobecné návrhy uvedené nižšie v časti "Tipy na zlepšenie dotazu výkonu".

Ak chcete spustiť výkon analyzátora prístup 7.0 v Access 97, v Access 2000, Access 2002 alebo Access 2003, postupujte nasledovne:

Na The Nástroje ponuky, kliknite na tlačidlo Analyzovať, a potom kliknite na tlačidlo Výkon.

Tipy na zlepšenie dotazu výkonu

Na zlepšenie výkonu dotaz, vyskúšajte tieto tipy:
  • Zhutniť databázu

    Keď nezhutníte vaše databázu môžete urýchliť dotazov. Keď zhutnení databázy záznamov tabuľky sú preskupili tak, že záznamy zdržiavať v priľahlých databázy stránky, ktoré sú nariadené hlavný kľúč tabuľky. Týmto sa zlepšuje výkon sekvenčné sken záznamov v tabuľke pretože len minimálny počet databázy stránky majú teraz znie na načítanie záznamov chcete. Po zhutnení databázy, spustite dotaz na zostavovanie dotaz tak, aby každý dotaz teraz mať aktualizované tabuľky štatistiky.
  • Index poľa

    Indexovať akejkoľvek oblasti, ktorá sa používa na nastavenie kritériá dotazu polia a polia indexu na oboch stranách spojenia. Alebo, vytvoriť vzťah medzi tieto polia. Keď vytvoríte vzťah s núteného referenčnú integritu, Jet databázový nástroj vytvorí index na cudzom kľúči, ak už neexistuje. Inak sa mechanizmus databázy Jet využíva existujúce indexu.

    Poznámka: Databázový nástroj Jet automaticky optimalizuje dotaz, spája tabuľky programu Access na pevnom disku a tabuľku ODBC servera Ak prístup tabuľka je malý, ak sú spojené polia sú indexované. V tomto prípade prístup zvyšuje výkon vyžiadaním len požadované záznamy zo servera. Uistite sa, že tabuľky môžete pripojiť z rôznych zdrojov sú indexované na spojenie polia.
  • Vyberte najmenšiu typ údajov, ktorý je vhodné

    Keď zadefinujete pole v tabuľke, vyberte najmenší typ údajov, ktoré sú vhodné pre údaje v poli. Skontrolujte tiež, že polia, ktoré chcete používať pri spojení majú rovnaké typy údajov alebo kompatibilný typy údajov, ako napríklad automatické číslovanie a číslo (ak FieldSize vlastnosť nastavená na Long Integer).
  • Pridajte len polia, ktoré musíte mať

    Keď ste Vytvorte dotaz, pridajte len polia, ktoré musíte mať. V oblastiach, ktoré sú používané chcete nastaviť kritériá, kliknutím zrušte Show políčko-li nie chcete zobraziť tieto polia.
  • Uložiť príkazu SQL ako dotaz

    Ak RecordSource Vlastnosť pre formulár alebo zostavu nastavená na príkaze SQL uložiť príkazu SQL ako dotaz a potom nastavte RecordSource Vlastnosť názov dotazu.
  • Zabrániť výpočtové polia

    Zabrániť výpočtové polia v Poddotazy. Ak pridáte dotaz, ktorý obsahuje výpočtové pole k druhému dotaz, vyjadrenia v výpočtové pole môže spomaliť výkon v najvyššej úrovne dotazu. V nasledujúcom príklade dotaz Q1 používa ako vstup pre dotaz Q2:
    Q1: SELECT IIF([MyColumn]="Yes","Order Confirmed","Order Not Confirmed") AS X Z MyTable;
    Q2: Vyberte * Z Q1 kde X = "Cieľom potvrdil";
    Pretože IIF prejavu v Q1 nemôže byť optimalizované, nemôže byť tiež Q2 optimalizované. Ak výraz, ktorý nemôže byť optimalizovaná vnorené v poddotaz, všetky dotaz nemôže optimalizované.

    Alternatívny spôsob na výstavbu dotaz je nasledovná:
    Q1: Vybrať * Z MyTable kde MyColumn = "Áno";
    Ak výrazov sú potrebné vo výstupe, skúste dať výrazy v ovládacom prvku vo formulári alebo zostave. Napríklad, môžete zmeniť predchádzajúce dotaz na parametrického dotazu, ktorý vyzve na hodnotu MyColumn, a potom základne formulára alebo zostavy na dotaz. Vo formulári alebo v zostave, potom môžete pridať vypočítavaný ovládací prvok, ktorý zobrazuje "Ahoj" alebo "Zbohom" v závislosti od hodnoty, ktorá je v MyColumn.

    Zostavte dotaz ako takto:
    PARAMETRE [pozri potvrdených objednávok, zadajte hodnotu Áno. Chcete zobraziť nepotvrdených objednávok, zadajte číslo] Textu;
    VYBERTE *
    OD MyTable
    KDE MyColumn = [K vidieť potvrdených objednávok, zadajte hodnotu Áno. Chcete zobraziť nepotvrdených objednávok, zadajte číslo];
    Vypočítavaného ovládacieho prvku, formulára alebo zostavy, zadajte:
    = IIF([MyColumn]="Yes","Order Confirmed","Order Not Confirmed")
  • Určiť skupiny

    Ak zoskupujete záznamy podľa hodnoty v spojené pole, zadajte skupiny pre pole, ktoré je v tom istom Tabuľka ako pole, ktoré ste sčítali (výpočet agregát na). Pre napríklad v vzorky Northwind.mdb, ak vytvoríte dotaz, ktorý Súčty poľa množstvo v tabuľke Podrobnosti objednávky a potom skupiny podľa Identifikácia objednávky, môžete zadať skupinu pre pole Identifikácia objednávky v Podrobnosti objednávky Tabuľka. Ak zadáte Zoskupiť podľa pre pole Identifikácia objednávky v tabuľke objednávky Prístup musí najprv pripojiť všetky záznamy a potom vykonajte súhrnne, namiesto vykonávajúci súhrnná a potom vstup len požadované polia.

    Pre väčšiu rýchlosť, použitím skupiny na ako niekoľkých polí ako je to možné. Alternatívne použiť Prvá funkciu, ak môžete.

    Ak dotaz na súčty zahŕňa spojenia, zvážiť zoskupenie záznamov v jeden dotaz a potom pridáte tento dotaz na samostatné dotazu, ktorý vykoná spojenie. Keď urobíte, môže byť výkon vylepšený s niektoré dotazy.
  • Vyhnúť sa kritériá obmedzujúce dotazu

    Vyhnúť sa reštriktívnych kritériá dotazu na výpočtové polia a na neindexovaných poliach, ak môžete. Použitie kritériá výrazy, ktoré môžete optimalizovať.
  • Test výkon vášho dotazu s poľom, ktoré sa používa v pripojiť medzi tabuľkami

    Ak používate kritériá na obmedzenie hodnoty v pole, ktoré sa používa pri spojení medzi tabuľkami so vzťahom one-to-many, test, či dotaz beží rýchlejšie s kritériami umiestnené na strane „one" alebo na strane „"many spojenia. V niektorých dotazov, si môžu uvedomiť rýchlejšie výkon pridaním kritérií k pole na strane „"one" spojenie namiesto z na "mnohých" strane spojenia.
  • Index zoraďovacie polia

    Indexové polia, ktoré môžete použiť pre zoraďovanie.
  • Použiť vytváracie dotazy na vytvorenie tabuliek

    Ak váš zriedka zmien údajov, použite vytváracie dotazy na vytvorenie tabuliek dotazu výsledky. Použiť výslednej tabuľky namiesto dotazy ako základ pre vaše formuláre, zostavy alebo váš iné dotazy. Uistite sa, že ste pridať indexy podľa usmernení, ktoré čítate v tomto článku.
  • Vyhnite sa používaniu doménové agregačné funkcie

    Vyhnite sa použitiu doménové agregačné funkcie, ako napríklad DLookup funkcie prístupu k údajom z tabuľky, ktorá nie je v dotaze. Doménové agregačné funkcie sú špecifické pre prístup, a to znamená, že Jet databázový nástroj nie je možné optimalizovať dotazov používajúcich doménové agregačné funkcie. Namiesto toho pridajte dotaz do tabuľky, funkcia bola prístupe alebo vytvoriť poddotaz.
  • Použitie stanovené nadpisy stĺpcov

    Ak vytvárate Krížový dotaz, použitie stanovené nadpisy stĺpcov, kedykoľvek je to možné.
  • Použite operátory

    Použitie Medzi...A prevádzkovateľa, V operátor, a = prevádzkovateľ na indexovaných poliach.
  • Optimalizovať na serveri

    Na veľkom aktualizácie dotazy proti zdrojov údajov ODBC, optimalizovať výkon na server podľa Nastavenie FailOnError Vlastnosť na hodnotu Áno.

ODKAZY

Ďalšie informácie o optimalizácia výkonnosti v programe Microsoft Access 2000, kliknite na tlačidlo Pomocník programu Microsoft Access naPomocník ponuka, typu optimalizovať výkon v Asistentovi programu Office alebo Sprievodcu odpoveďami a potom kliknite na tlačidlo Vyhľadávanie Ak chcete zobraziť tému.
Ďalšie informácie o Optimalizácia výko Microsoft Access 2002, kliknite na tlačidlo Pomocník programu Microsoft Access naPomocník ponuka, typu Zvýšiť výkon programu Access databáza v Asistentovi programu Office alebo Sprievodcu odpoveďami a potom kliknite na tlačidlo Vyhľadávanie Ak chcete zobraziť tému.

Ďalšie informácie o zlepšenie výkonnosti v programe Access 2003, kliknite Pomocník balíka Microsoft Office Access na Pomocník ponuka, typu Zlepšenie výkonnosti databázy programu Access v Vyhľadávanie rámček na pomoc table a potom kliknite na Spustite vyhľadávanie Ak chcete zobraziť tému.

Ďalšie informácie o používaní indexov v programe Access 2000, po kliknutí na nasledovné číslo článku databázy Microsoft Knowledge Base:
209564ACC2000: Kŕmnych indexy musia obmedziť prvý indexovanom poli
Note This is a "FAST PUBLISH" article created directly from within the Microsoft support organization. The information contained herein is provided as-is in response to emerging issues. As a result of the speed in making it available, the materials may include typographical errors and may be revised at any time without notice. See Terms of Use for other considerations.

Vlastnosti

ID článku: 209126 - Posledná kontrola: 20. októbra 2011 - Revízia: 2.0
Informácie v tomto článku sa týkajú nasledujúcich produktov:
  • Microsoft Office Access 2003
  • Microsoft Access 2002 Standard Edition
  • Microsoft Access 2000 Standard Edition
Kľúčové slová: 
kbquery kbhowto kbperformance kbinfo kbusage kbmt KB209126 KbMtsk
Strojovo preložené
DÔLEŽITÉ: Tento článok bol preložený pomocou softvéru na strojový preklad od spoločnosti Microsoft, nie prekladateľom. Spoločnosť Microsoft ponúka články preložené prekladateľmi aj strojovo preložené články, vďaka čomu máte možnosť prístupu ku všetkým článkom databázy Knowledge Base vo svojom jazyku. Strojovo preložený článok však nie je vždy perfektný. Môže obsahovať chyby týkajúce sa slovnej zásoby, syntaxe alebo gramatiky, podobne ako cudzinec môže robiť chyby, keď rozpráva vašim jazykom. Spoločnosť Microsoft nenesie zodpovednosť za akékoľvek nepresnosti, chyby alebo škody spôsobené akýmkoľvek nepresným prekladom obsahu alebo jeho použitím zo strany zákazníkov. Spoločnosť Microsoft softvér na strojový preklad pravidelne aktualizuje.
Pokiaľ chcete vidieť anglickú verziu článku, kliknite sem:209126

Odošlite odozvu

 

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