sql >> Databáze >  >> RDS >> Mysql

Jaké je optimální číslo dotazu MYSQL v php skriptu?

Rád si nechám své pod 8.

Ale vážně, to je docela nesmyslné. Pokud by pro vás hypoteticky existoval důvod mít 800 dotazů na stránce, můžete to udělat. Pravděpodobně zjistíte, že počet dotazů na stránku bude jednoduše záviset na tom, co děláte, i když za normálních okolností bych byl překvapen, kdybych viděl více než 50 (ačkoli v dnešní době může být těžké si uvědomit, kolik děláte, pokud abstrahujete vaše DB volání).

Pomalé dotazy jsou důležitější

Býval jsem frustrovaný určitým softwarem na fóru založeným na PHP, který měl na stránce 35 dotazů a běžel opravdu pomalu, ale to bylo dávno a nyní vím, že důvod, proč konkrétní instalace běžela pomalu, neměl nic společného s tím, že jsem měl 35 dotazů. dotazy na stránce. Například pouze jeden nebo dva z těchto dotazů zabraly většinu času. Měl jen pár opravdu pomalých dotazů, které byly opraveny dobře umístěnými indexy.

Myslím, že identifikace a oprava pomalých dotazů by měla přijít před identifikací a eliminací zbytečných dotazů, protože to může potenciálně znamenat mnohem větší rozdíl.
Uvažujme dokonce, že tři rychlé dotazy mohou být výrazně rychlejší než jeden pomalý – počet dotazů ano nemusí nutně souviset s rychlostí.

Mám jednu stránku (což je vlastně jakýsi testovací případ / diagnostický nástroj navržený tak, aby jej spouštěl pouze správce), která má více než 800 dotazů, ale běží během několika sekund. Myslím, že jsou to všechno opravdu jednoduché dotazy.

Zkuste uložit do mezipaměti

Existují různé způsoby ukládání částí vaší aplikace do mezipaměti, které mohou skutečně snížit počet vašich dotazů, aniž by došlo ke snížení funkčnosti. Knihovny jako memcached usnadněte si to v dnešní době a přitom běžte opravdu rychle. To může také pomoci zlepšit výkon mnohem více než snížit počet dotazů.

Pokud jsou dotazy opravdu zbytečné a výkon skutečně ovlivňuje, pak je odstraňte/zkombinujte

Zvažte nejprve hledání pomalých dotazů a jejich optimalizaci nebo ukládání jejich výsledků do mezipaměti.



  1. Jak SHOW CHARACTER SET funguje v MariaDB

  2. Nativní dotaz hibernace – sloupec char(3).

  3. Jak používat Case Statement pro podmíněné formátování ve Select Query - SQL Server / TSQL výukový program, část 116

  4. MYSQL:Rozdíl mezi binárním a blobem