<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>http://bloomwiki.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=ManuelZce301</id>
	<title>BloomWiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="http://bloomwiki.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=ManuelZce301"/>
	<link rel="alternate" type="text/html" href="http://bloomwiki.org/index.php/Special:Contributions/ManuelZce301"/>
	<updated>2026-10-17T23:27:37Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.43.0</generator>
	<entry>
		<id>http://bloomwiki.org/index.php?title=5_z%C3%A1sad,_kter%C3%A9_zrychl%C3%AD_SQL_dotazy_bez_zm%C4%9Bny_sch%C3%A9matu&amp;diff=516753</id>
		<title>5 zásad, které zrychlí SQL dotazy bez změny schématu</title>
		<link rel="alternate" type="text/html" href="http://bloomwiki.org/index.php?title=5_z%C3%A1sad,_kter%C3%A9_zrychl%C3%AD_SQL_dotazy_bez_zm%C4%9Bny_sch%C3%A9matu&amp;diff=516753"/>
		<updated>2026-10-12T06:46:37Z</updated>

		<summary type="html">&lt;p&gt;ManuelZce301: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Indexy nestačí vytvořit, musí odpovídat dotazu Index je nejčastější odpověď na pomalý dotaz, ale špatně zvolený index škodí. Pokud filtr používá funkci nad sloupcem, například převod na malá písmena, databáze index často nepoužije. Totéž platí pro porovnání sloupce s jiným typem hodnoty. Sestavte index tak, aby kopíroval pořadí podmínek v dotazu, a u složených indexů pamatujte, že záleží na pořadí sloupců. Index na příjmení a jméno se chová jinak než index na jméno a příjmení.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Než začneš psát kód, zjisti si dvě věci: kde je dokumentace a jestli potřebuješ přístupový klíč. Většina API funguje tak, že pošleš požadavek na konkrétní adresu a dostaneš odpověď ve formátu JSON. Otevři si dokumentaci a najdi sekci, která se jmenuje nějak jako „authentication&amp;quot; nebo „getting started&amp;quot;. Tam bývá přesně popsané, jak klíč získat a jak ho posílat. U některých služeb stačí klíč vložit do hlavičky požadavku, jinde se podepisuje každý požadavek zvlášť. To druhé je složitější a pro první pokusy se tomu vyhni.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;API se vyvíjí a každá změna může rozbít to, co už funguje. Zaveďte verzování v cestě nebo v hlavičce a držte se ho. Když měníte tvar odpovědi nebo rušíte pole, nestačí o tom napsat do dokumentace. Oznámení musí proběhnout předem a klient musí mít čas se přizpůsobit. Zpětně kompatibilní změny, jako přidání nového pole, se dají dělat kdykoli. Odebrání nebo přejmenování pole je vždy změna, která potřebuje vlastní termín.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Index se nepoužije, když je sloupec v podmínce obalený funkcí nebo přetypováním. Například porovnání data přes funkci převodu nebo spojení řetězců donutí databázi spočítat hodnotu pro každý řádek. Stejně působí zástupné znaky na začátku vzoru při vyhledávání textu. Řešením je upravit dotaz tak, aby porovnával holý sloupec, nebo vytvořit funkční index, pokud to databáze podporuje. Pozor i na implicitní převody typů – číslo porovnané s textem může index vyřadit.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Měníte zadání každý týden a vaše testovací pyramida se rozpadá? Nejčastější chybou je držet se u strmých pyramid s důrazem na unit testy, které jsou příliš vázané na implementaci. Jakmile se změní požadavek, přepisujete stovky testů a ztrácíte čas. Řešení není v zahazování testů, ale v přesunu těžiště.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Zavedte pravidlo, že každá změna zadání musí projít analýzou dopadu na testy. Než začnete psát kód, projděte si, které testy bude potřeba upravit. Pokud jich je příliš mnoho, je to signál, že máte příliš mnoho testů na špatné úrovni. Investujte do testovací infrastruktury – rychlé a spolehlivé integrační testy vám umožní měnit věci bez strachu.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Agilní metodiky vznikly pro malé týmy, které sedí v jedné místnosti a mají přímý přístup k zadavateli. Jakmile ale do hry vstoupí externí dodavatel, pravidla se rozpadnou. Externí firma má vlastní priority, vlastní lidi na několika projektech a často i vlastní způsob práce. Pokud se na to nepřipravíte předem, skončíte s dvěma světy, které se navzájem míjejí. Klíčové je nastavit spolupráci tak, aby agilní principy fungovaly i přes hranice firem.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Nakonec měřte dobu, kterou trávíte opravou testů po změně. Pokud přesahuje 20 % času vývoje, pyramida je špatně nastavená. Cílem není mít nejvíce testů, ale mít testy, které vydrží změny a přesto odhalí regrese. Přesuňte těžiště do středu pyramidy a udržujte ji plochou.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;U spojení dávejte pozor na pořadí tabulek a na to, zda spojovací podmínka využívá index. Malá tabulka by měla [https://www.dict.cc/?s=b%C3%BDt%20prohled%C3%A1na být prohledána] první, velká připojena přes indexovaný sloupec. Pokud spojujete více tabulek, sledujte, kolik řádků vzniká v mezivýsledku. Někdy je lepší dotaz rozdělit na dva jednodušší a spojit výsledky v aplikaci než nechat databázi počítat obrovský kartézský součin.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Nakonec dbejte na to, aby se dotazy neopakovaly zbytečně. Načtení stejných dat v cyklu po jednom řádku bývá největší zabiják výkonu. Seskupte je do jednoho dotazu nebo použijte dávkové zpracování. A pamatujte, že optimalizace není jednorázová akce. Jak rostou data, mění se i plán provádění. Co fungovalo loni, může dnes skenovat celou tabulku. Proto se k měření vracejte pravidelně.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Jakmile zvládneš jedno volání, nauč se číst dokumentaci jako mapu. Hledej sekce o stránkování, limitech a chybových stavech. Tyto tři věci rozhodují o tom, jestli tvá [https://Rdcvw.com/?516333 práce obstojí] i při větším množství dat. Nezačínej integrací do velkého projektu. Napiš malý skript, který dělá jednu věc, a teprve až funguje spolehlivě, přesuň logiku do zbytku aplikace.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Nejčastější chyby na začátku První chyba je ignorování dokumentace a zkoušení metodou pokus–omyl. API mají pevně dané názvy parametrů a jejich formát. Když pošleš datum v jiném tvaru, než jaký očekává, dostaneš chybu, i když je hodnota věcně správná. Druhá chyba je posílání klíče v adrese. Klíč patří do hlavičky, protože adresy se  do logů a může je vidět někdo, kdo by neměl. Třetí chyba je nulové ošetření chyb. Kód, který předpokládá, že vždy přijde správná odpověď, spadne při první výpadku sítě.&lt;/div&gt;</summary>
		<author><name>ManuelZce301</name></author>
	</entry>
</feed>