Vylepšení výkonu pro SQL Server V WINDOWSNT

Překlady článku Překlady článku
ID článku: 160606 - Produkty, které se vztahují k tomuto článku.
Tento článek byl archivován. Je nabízen v takovém stavu, v jakém je, a nebude již nadále aktualizován.
Rozbalit všechny záložky | Minimalizovat všechny záložky

Na této stránce

Souhrn

Nové rozhraní byl přidán jako vylepšení výkonu pro SQL Server při spuštěné pod WINDOWSNT. Toto vylepšení zahrnuje funkce bodový/shromáždit I/O.

Další informace

Co je bodový graf/shromažďovat?

Bodový/shromáždit je standardní technika používaná v některých situacích I/O Vysoký výkon. Obvykle odkazuje na přenosy Direct Memory Access (DMA). Daný blok dat může existovat v paměti jako několik diskrétní vyrovnávacích pamětí. Bez bodový/shromáždit při nastavování přenosu paměti disk operačního systému budou často proveďte přenosu pro každé vyrovnávací paměti nebo blok přesunout do jedné vyrovnávací paměti větší před inicializací přenos. Oba tyto jsou neefektivní. Je lepší Pokud operační systém a ovladač/hardwaru shromažďuje data od diskrétní umístění v paměti a přenese "místě" jako jediné operace. Podobně na vstup z disku, pokud je blok dat rozptýleny přímo k přesune nezbytné umístění v paměti bez zprostředkujících bloku a atd., je rychlejší.

Specifikace rozhraní

ReadFileScatter

Funkce ReadFileScatter čte data ze souboru začíná na pozici offset souboru ve struktuře OVERLAPPED a distribuuje data do více vyrovnávacích pamětí uživatele.
BOOL ReadFileScatter(
<WWBLOCKQUOTE>
    HANDLE hFile,                         // handle of file to read
    FILE_SEGMENT_ELEMENT aSegmentArray[], // array of buffer segments that
receives data
    DWORD nNumberOfBytesToRead,           // number of bytes to read
    LPDWORD lpReserved,                   // reserved must be NULL
    LPOVERLAPPED lpOverlapped             // address of structure for data
   );
				

Parametry

hFile


Identifikuje soubor číst. Popisovač souboru musí být vytvořen s všeobecné_čtení přístup k souboru.

Soubor musí být otevřen pomocí FILE_FLAG_OVERLAPPED určit asynchronního I/O a FILE_FLAG_NO_BUFFERING určit bez mezipaměti I/O.

aSegmentArray

Body matici ukazatelů segmenty. Segment je vyrovnávací paměti, kde část převedených dat umístěny. Segmenty jsou stránky systému velikosti a musí být zarovnány na velikost hranice stránky.

Segmentu paměti může být přiděleno pomocí VirtualAllocVlm nebo může být normální 32bitová adresa paměti, ale ne obojí.

NNumberOfBytesToRead

Určuje počet bajtů číst ze souboru.

lpReserved

Rezervované musí být NULL.

lpOverlapped

Body struktury OVERLAPPED. Tato struktura je povinná a musí odkazovat na platné struktury OVERLAPPED.

Posun zadaná ve struktuře OVERLAPPED začíná operace čtení a ReadFileScatter může vrátit před dokončením operace čtení. V tomto případě ReadFileScatter vrátí hodnotu FALSE a funkce GetLastError vrátí ERROR_IO_PENDING. To umožňuje volající proces pokračovat při dokončení operace čtení. Aplikace může používat buď funkce GetOverlappedResult/HasOverlappedIoCompleted zvedněte oznámení dokončení I/O nebo GetQueuedCompletionStatus k dokončení I/O zvedněte.

Vrácení hodnoty

Pokud funkce úspěšná, vrácená hodnota je nenulová. Pokud selže funkce vrácená hodnota je nula. Získat informace o rozšířené chybě volání GetLastError. Pokud ReadFileScatter pokusy o čtení za koncem souboru, vrátí funkce nulu a GetLastError vrátí ERROR_HANDLE_EOF

Poznámky

Každý FILE_SEGMENT_ELEMENT je dlouhá 64 bity. Všechny 64 bitů se používají k výpočtu ukazatel vyrovnávací paměti; proto aplikací musí explicitně nula horní 32 bity prvek v systémech, které nepodporují 64bitové ukazatelů.

WriteFileGather

Funkce WriteFileGather shromažďuje data z více vyrovnávacích pamětí a zapíše data do souboru. Funkce je určena pro asynchronní operace. Funkce spustí zápis dat do souboru na pozici zadané struktury OVERLAPPED.
BOOL WriteFileGather(
    HANDLE hFile,                // handle to file to write to
    FILE_SEGMENT_ELEMENT aSegmentArray [], // array of buffer segments
containing the data
    DWORD nNumberOfBytesToWrite,    // number of bytes to write
    LPDWORD lpReserved,             // Reserved must be NULL
    LPOVERLAPPED lpOverlapped       // pointer to structure needed for
overlapped I/O
   );
				

Parametry

hFile


Identifikuje zapsány do souboru. Popisovač souboru musí být vytvořen s všeobecné_zápis přístup k souboru. Soubor musí být otevřen pomocí FILE_FLAG_OVERLAPPED určit asynchronního I/O a FILE_FLAG_NO_BUFFERING určit bez mezipaměti I/O.

aSegmentArray

Body matici ukazatelů segmenty. Segment je vyrovnávací paměti, kde část převedených dat umístěny. Segmenty jsou stránky systému velikosti a musí být zarovnány na velikost hranice stránky. Segmentu paměti může být přiděleno pomocí VirtualAllocVlm nebo může být normální 32bitová adresa paměti, ale ne obojí.

NNumberOfBytesToWrite

Určuje počet bajtů zapisovat do souboru.

Na rozdíl od operačním systému MS-DOS WINDOWSNT interpretuje hodnotu nula jako určení operace zápisu null. Operace zápisu null nezapisuje libovolné bajtů, ale způsobit časové razítko změnit.

lpReserved

Rezervované musí být NULL.

LpOverlapped

Body struktury OVERLAPPED. Tato struktura je povinná a musí odkazovat na platné struktury OVERLAPPED. Spustí operace zápisu na posunu zadaná ve struktuře OVERLAPPED a WriteFileGather může vrátit před dokončením operace zápisu. V tomto případě WriteFileGather vrátí hodnotu FALSE a funkce GetLastError vrátí ERROR_IO_PENDING. To umožňuje volající proces pokračovat ve zpracování při dokončení operace zápisu. Aplikace můžete buď funkce GetOverlappedResult/HasOverlappedIoCompleted zvedněte I/O oznámení dokončení nebo GetQueuedCompletionStatus k vyskladnění nahoru I/O dokončení.

Vrácení hodnoty

Pokud funkce úspěšná, vrácená hodnota je nenulová. Pokud selže funkce vrácená hodnota je nula. Získat informace o rozšířené chybě volání GetLastError.

Poznámky

Každý FILE_SEGMENT_ELEMENT je dlouhá 64 bity. Všechny 64 bitů se používají k výpočtu ukazatel vyrovnávací paměti; proto aplikací musí explicitně nula horní 32 bity prvek v systémech, které nepodporují 64bitové ukazatelů.

Pokud část souboru je uzamčen jiným procesem a uzamčené části překrývá operaci zápisu, tato funkce se nezdaří.

Na rozdíl od operačním systému MS-DOS WINDOWSNT interpretuje nula bajtů zapsat jako určení operace zápisu null a není zkrátit nebo rozšířit souboru WriteFileGather. Zkrátit nebo prodloužit souboru pomocí funkce SetEndOfFile.

Prohlášení

Aktualizace Service Pack 2 jsou zavedeny nové rozhraní, který pracuje jako enhancer výkonu pro SQL Server při spuštěné pod WINDOWSNT. Toto vylepšení zahrnuje bodový/shromáždit a funkce vstupu a výstupu.

Další informace o získání nejnovější aktualizace service pack pro systém Windows NT 4.0 klepněte na článek číslo článku databáze Microsoft Knowledge Base:
152734Jak získat nejnovější aktualizaci Service Pack pro systém Windows NT 4.0

Vlastnosti

ID článku: 160606 - Poslední aktualizace: 10. února 2014 - Revize: 1.1
Informace v tomto článku jsou určeny pro produkt:
  • Microsoft Windows NT Workstation 4.0 Developer Edition
  • Microsoft Windows NT Server 4.0 Standard Edition
Klíčová slova: 
kbnosurvey kbarchive kbmt kbnetwork KB160606 KbMtcs
Strojově přeložený článek
Důležité: Tento článek byl přeložen pomocí software společnosti Microsoft na strojový překlad, ne profesionálním překladatelem. Společnost Microsoft nabízí jak články přeložené překladatelem, tak články přeložené pomocí software na strojový překlad, takže všechny články ve Znalostní databázi (Knowledge Base) jsou dostupné v češtině. Překlad pomocí software na strojový překlad ale není bohužel vždy dokonalý. Obsahuje chyby ve skloňování slov, skladbě vět, nebo gramatice, podobně jako když cizinci dělají chyby při mluvení v češtině. Společnost Microsoft není právně zodpovědná za nepřesnosti, chyby nebo škody vzniklé chybami v překladu, nebo při použití nepřesně přeložených instrukcí v článku zákazníkem. Společnost Microsoft aktualizuje software na strojový překlad, aby byl počet chyb omezen na minimum.
Projděte si také anglickou verzi článku:160606

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