| Autor | Zpráva | ||
|---|---|---|---|
| slovakCZ Profil |
#1 · Zasláno: 5. 8. 2010, 20:29:29
Dobrý den,
potřebuji v rámci optimalizace (moc dotazů na databázi) seskupit do jednoho dotazu následující: count, select a insert. Jde o to, že se nejdříve připojím k db, poté sečtu všechna ID, poté se znovu dodáži na db a provedu nějaké výpočty a vykreslení na stránku pomocí php a po tomto výpočtu a vykreslení se dotazuji znovu na db a vložím do ní nějaká data (ty ovšem nejsou výsledkem výpočtu, takže je možné tento krok vložit před výpočet a vykreslení na stránku). takže v podech se děje toto: 1. sečti všechna ID (count) 2. vyber nějaké data z DB (select) 3. pracuj s vybranými daty 4. vlož do DB nový řádek (obsah řádku není závislý na bodu 3.) (insert) výhoda také je, že v databázi mám pouze jednu tabulku.. Tím pádem body 1,2,4 pracují jen s touto jednou tabulkou. Je tedy možné seskupit body 1, 2 a 4 do jednoho mysql dotazu? Budu rád když mi poradíte na nějakém příkladě. Pro příklad postačí, když budem uvažovat že fiktivní tabulka "table" má tyto sloupce: ID, TITLE, TEXT, DISABLED DĚkuji za Vaše rady. Tom |
||
| TomášK Profil |
#2 · Zasláno: 5. 8. 2010, 21:00:17
Dotaz může volat proceduru uloženou na serveru, která může provést, co je třeba a vrátit nějaká data. INSERT data nevrací, tedy bez procedury pokud vím není možné vkládat data a zároveň nějaká vracet. Z hlediska optimalizace bych nejdřív řešil cachování, pak náročnost samotných dotazů na databázi, počet dotazů většinou nebývá úzké hrdlo. Ale možná to pro váš případ neplatí, nevím.
|
||
|
Časová prodleva: 16 let
|
|||
0