Editing
Jak zrychlit databázové dotazy a ulevit serveru
Jump to navigation
Jump to search
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
Jak se vyhnout nejčastějším začátečnickým chybám První častá chyba je commitování příliš velkých změn najednou. Když v jednom commitu smícháte novou funkci, přejmenování proměnných a úpravu CSS, je téměř nemožné se v historii orientovat. Rozdělte práci na logické celky a commitněte každý zvlášť. Druhý problém nastává, když verzujete jen lokálně. Bez vzdáleného úložiště přicházíte o zálohu a o možnost snadné spolupráce. Po každém důležitém commitu provedete push do vzdáleného repozitáře – to by mělo být samozřejmostí.<br><br>Co dělat, když indexy nepomohou Jsou případy, kdy indexy nepomohou, protože dotaz je napsaný způsobem, který je znemožňuje použít. Typickým příkladem je funkce na sloupci v podmínce, třeba WHERE YEAR(datum) = 2024. Takový zápis zamezí použití indexu na sloupci datum. Řešením je přepsat podmínku na rozsah: WHERE datum >= '2024-01-01' AND Should you loved this information and [http://Orasch.com/index.php?title=Jak_spr%C3%A1vn%C4%9B_strukturovat_testy_pomoc%C3%AD_testovac%C3%AD_pyramidy Orasch.Com] you wish to [https://hararonline.com/?s=receive receive] more information concerning [http://racist.wiki/index.php/Z%C3%A1sady_psan%C3%AD_%C4%8Dist%C3%A9ho_k%C3%B3du_v_JavaScriptu_pro_za%C4%8D%C3%A1te%C4%8Dn%C3%ADky_i_pokro%C4%8Dil%C3%A9 viz zde] please visit our page. datum <br>Dalším častým problémem je načítání zbytečně velkého množství dat. Místo SELECT * si vždy vypište jen sloupce, které opravdu potřebujete. Pokud aplikace zobrazuje jen prvních dvacet záznamů, nezapomeňte na LIMIT. Někdy také stojí za to rozdělit jeden složitý dotaz na dva jednodušší, které se provedou v rámci aplikace. To se vyplatí zejména u dotazů s mnoha JOINy, které násobí mezivýsledky. Než ale začnete optimalizovat, změřte si, jak dlouho dotaz skutečně trvá – bez měření jen tipujete a můžete ztratit čas na místech, která problém nezpůsobují.<br><br>Další pastí je ignorování konfliktů při slučování větví. Když se změny překrývají, systém [https://rikkiepedia.nl/index.php?title=Jak_ps%C3%A1t_smyslupln%C3%A9_commit_zpr%C3%A1vy_pro_snadnou_zp%C4%9Btnou_dohledatelnost byt v paneláku]ám ukáže konflikt a vy musíte ručně rozhodnout, co ponechat. Není to selhání, ale běžný proces. Vždy si konflikt projděte soubor po souboru a nemažte jen tak jednu stranu. Pokud si nejste jistí, zeptejte se kolegy nebo si prohlédněte obě verze v editoru. Nikdy neprovádějte merge bez otestování výsledného kódu.<br><br>Async operace řešte přes createAsyncThunk, ne přes ručně psané thunky. Tento nástroj automaticky generuje akce pro pending, fulfilled a rejected stavy, což eliminuje duplicitní kód a zjednodušuje handling chyb. Nezapomeňte na to, že akce by měly být serializovatelné – do stavu neukládejte Promise, funkce ani instance tříd. To je častý zdroj chyb při kombinaci Reduxu s TypeScriptem.<br><br>Nakonec si osvojte dvě užitečné dovednosti: vracení změn a prohlížení historie. Když zjistíte, že jste rozbili aplikaci, nepropadejte panice. Stačí se podívat na poslední commity a vrátit se o krok zpět. Užitečné je také porovnat aktuální stav se starší verzí souboru – to vám pomůže najít, co přesně se změnilo. Pravidelný trénink s těmito nástroji vám dá jistotu a webové projekty přestanou být noční můrou. Začněte ještě dnes a za týden nebudete chtít pracovat jinak.<br><br>Nejčastější chyby a jak se jim vyhnout První velký kámen úrazu je práce s výjimkami. Když skript narazí na neočekávanou situaci (např. soubor neexistuje), program spadne. Místo toho použijte blok try a except, abyste chybu zachytili a pokračovali dál. Například při kopírování souborů zkuste každý soubor zkopírovat a pokud selže, uložte si název do seznamu chyb. Druhým častým problémem je tvrdé zakódování cest – pokud skript poběží na jiném počítači, cesty se změní. Používejte relativní cesty nebo knihovnu pathlib, která je modernější a bezpečnější.<br><br>Základem automatizace je práce se soubory a složkami. Například pokud potřebujete hromadně přejmenovat soubory v adresáři, Python to zvládne pomocí knihovny os a glob. Napište krátký skript, který projde všechny soubory s příponou .txt a přidá k nim datum. Typická chyba začátečníků je zapomenout na to, že cesty k souborům mohou obsahovat mezery nebo diakritiku – vždy používejte surové řetězce (např. r"C:\cesta\k\souboru"), abyste se vyhnuli problémům se zpětnými lomítky.<br><br>Kontejnerizace pomocí Dockeru se stala standardem pro nasazování aplikací, ale pro začátečníka může být matoucí. Nemusíte se učit nazpaměť celý ekosystém, stačí pochopit pár základních principů a hlavně začít dělat. Tento článek vás provede prvními kroky, na co si dát pozor a jak se vyhnout nejčastějším chybám.<br><br>Nejčastější chybou bývá chybějící index na sloupcích použitých v podmínce WHERE nebo v JOINu. Databáze pak musí procházet celou tabulku, což je pomalé zejména u větších objemů dat. Vytvořte index na sloupcích, které se používají k filtrování, a nezapomeňte ani na sloupce v ORDER BY, pokud třídíte velké množství řádků. Pozor ale na přehnané indexování – každý index zpomaluje zápis a zabírá místo. Místo hromadného přidávání indexů se podívejte na vysvětlení plánu dotazu (EXPLAIN), které ukáže, které indexy se skutečně využijí.<br>
Summary:
Please note that all contributions to IT-Core are considered to be released under the GNU Free Documentation License 1.3 or later (see
IT-Core:Copyrights
for details). If you do not want your writing to be edited mercilessly and redistributed at will, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource.
Do not submit copyrighted work without permission!
Cancel
Editing help
(opens in new window)
Navigation menu
Personal tools
Not logged in
Talk
Contributions
Create account
Log in
Namespaces
Page
Discussion
English
Views
Read
Edit
View history
More
Search
Navigation
Main page
Recent changes
Random page
Help about MediaWiki
Special pages
Tools
What links here
Related changes
Page information