TimeOut   otázka

SQL, Databáze

Dobrý den !

Chtěl bych se zeptat jak se dá vyřešit TimeOut při čtení z databáze.

Mám databázi, kde jsou uloženy data v cca min. intervalech. Když čtu data postupně, nebo v hodinových řezech tak vše funguje i při delším časovém intervalu (měsíc). Když, ale načítám hodinové průměry tak dojde k vypršení časového limitu (Při kratším intervale to jde také). Předpokládám, že databáze „připravuje data“ a zatím vyprší nastavený TimeOut.

Databázi nemůžu konfigurovat, jde to vyřešit na straně aplikace?

nahlásit spamnahlásit spam 1 / 1 odpovědětodpovědět

Jsou dva druhy TimeOutů - jeden je pro připojení k databázi (System.Data.OleDb.OleDbConnection.ConnectionTimeout) a jeden pro vykonání SQL příkazu (System.Data.OleDb.OleDbCommand.CommandTimeout), ten se dá nastavit pomocí té samé vlastnosti. Běžně se to řeší tak, že se v bloku Try...Catch zachytí příslušná vyjímka když časový limit vyprší (OleDbException).

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Děkuji! Nastavil jsem dataAdapter.SelectCommand.CommandTimeout=100 (původně bylo 30)a vše OK! Podle čeho bych měl TimeOut nastavit? Není 100 moc?

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Záleží na těchto věcech:

- Jak je SQL příkaz složitý

- Jak je výkonný počítač, na kterém SQL Server běží

- Jak je SQL Server zatížen

- Jaká je kvalita spojení mezi SQL Serverem a klientem databáze

- Kolik dat se přenáší

100 vteřin se mi zdá moc, zatím mi vždy stačila výchozí hodnota i při poměrně složitých dotazech.

nahlásit spamnahlásit spam 0 odpovědětodpovědět

K věcem, nak terých to záleží, bych ještě přidal jednu:

- kvalita databázového návrhu a nastavení indexů

Kolik máte v té tabulce záznamů? Jak jsou velké (přibližný odhad)? Co je to za dotaz? Není v něm LIKE?

nahlásit spamnahlásit spam 0 odpovědětodpovědět
                       
Nadpis:
Antispam: Komu se občas házejí perly?
Příspěvek bude publikován pod identitou   anonym.
  • Administrátoři si vyhrazují právo komentáře upravovat či mazat bez udání důvodu.
    Mazány budou zejména komentáře obsahující vulgarity nebo porušující pravidla publikování.
  • Pokud nejste zaregistrováni, Vaše IP adresa bude zveřejněna. Pokud s tímto nesouhlasíte, příspěvek neodesílejte.

přihlásit pomocí externího účtu

přihlásit pomocí jména a hesla

Uživatel:  
Heslo:  

zapomenuté heslo

 

založit nový uživatelský účet

zaregistrujte se

 
zavřít

Nahlásit spam

Opravdu chcete tento příspěvek nahlásit pro porušování pravidel fóra?

Nahlásit Zrušit

Chyba

zavřít

feedback