Portál AbcLinuxu, 8. května 2025 08:20

Dotaz: Jak optimalizovat složitou proceduru pro mnohonásobné volání

8.1.2011 00:47 jur.da
Jak optimalizovat složitou proceduru pro mnohonásobné volání
Přečteno: 252×
Odpovědět | Admin
Ahj, potřebuju napsat v mysql proceduru, která se bude volat nějak takto: "CALL vloz_udaj('tabulka', 'data1', 'data2' ...)". Pokud tabulka neexistuje, tak vrátí chybu, v opačném případě vloží data. Jak jsem to popsal to zvládnu napsat, ale problém je ten, když budu chtít vložit mnoho řádků, tak se pokaždé bude kontrolovat existence tabulky (to by šlo obejít zvláštním checkem) a navíc se bude pokaždé vytvářet nový select (což podle mě nějaký čas také zabere). Jak se dá taková procedura napsat, aby byla co nejefektivnější?
Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

8.1.2011 10:38 Filip Jirsák | skóre: 68 | blog: Fa & Bi
Rozbalit Rozbalit vše Re: Jak optimalizovat složitou proceduru pro mnohonásobné volání
Odpovědět | | Sbalit | Link | Blokovat | Admin
Pokud ten SELECT nebudete sestavovat za něhu jako řetězec, ale bude napsán přímo jako příkaz v proceduře, měla by si s tím databáze poradit. Nevím, jako to dělá MySQL, ale obyčejně se takové příkazy překládají už v době vytvoření procedury.
GeoRW avatar 8.1.2011 17:59 GeoRW | skóre: 13 | blog: GeoRW | Bratislava
Rozbalit Rozbalit vše Re: Jak optimalizovat složitou proceduru pro mnohonásobné volání
Odpovědět | | Sbalit | Link | Blokovat | Admin
v mysql nie je error handling? ak chces insertnut data do neexistujucej tabulky, tak databaza by sama mala hodit chybu; v procke by sa to potom malo dat odchytit
"This is to be taken with a grain of salt." ACBF - Advanced Comic Book Format

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.