ray Posted January 21, 2008 Report Share Posted January 21, 2008 (edited) kā var ar vienu pieslēgšanos pie datubāzes izpildīt šādus vaicājumus? UPDATE lauks SET value = "vertiba" WHERE id = 1 UPDATE lauks SET value = "cita_vertiba" WHERE id = 2 kopā tur ir kādi 8 šādi vaicājumi, tāpēc man liekas, ka vislabāk būtu to visu datubāzē atjaunot ar vienu pieslēgšanos, lai lieki nenoslogotu DB. Edited January 21, 2008 by ray Link to comment Share on other sites More sharing options...
andrisp Posted January 21, 2008 Report Share Posted January 21, 2008 Man liekas, ka tā vienkārši apvienot nevarēsi gan. Ja izmantosi mysqli php paplašinājumu, tad var vairākus kverijus vienē reizē nosūtīt. Varbūt ir iespējams šos kverijus ievietot iekš procedūras, kurai tu tikai padosi parametrus ? Link to comment Share on other sites More sharing options...
ray Posted January 21, 2008 Author Report Share Posted January 21, 2008 Varbūt ir iespējams šos kverijus ievietot iekš procedūras, kurai tu tikai padosi parametrus ? paskaidro lūdzu mazliet sīkām, īsti šo neizprotu Link to comment Share on other sites More sharing options...
Aleksejs Posted January 21, 2008 Report Share Posted January 21, 2008 (edited) Manuprāt, atdalot ar semikolu vaicājumus - tos varēja iekraut vienā mysql_query izsaukumā. Edited January 21, 2008 by Aleksejs Link to comment Share on other sites More sharing options...
Vebers Posted January 21, 2008 Report Share Posted January 21, 2008 Multiple-table syntax: UPDATE [LOW_PRIORITY] [iGNORE] table_references SET col_name1=expr1 [, col_name2=expr2 ...] [WHERE where_condition] Link to comment Share on other sites More sharing options...
andrisp Posted January 21, 2008 Report Share Posted January 21, 2008 http://www.google.com/search?hl=lv&q=mysql+procedures Vai arī kas tev īsti nav skaidrs ? Link to comment Share on other sites More sharing options...
Aleksejs Posted January 21, 2008 Report Share Posted January 21, 2008 Veber, bet viņam jau conditioni ir vairāki... Link to comment Share on other sites More sharing options...
Vebers Posted January 21, 2008 Report Share Posted January 21, 2008 Aleksej, un? CASE ~ piemērs: UPDATE Table1 SET foo = CASE WHEN id=1 THEN 1 WHEN id=2 THEN 2 END Link to comment Share on other sites More sharing options...
Gints Plivna Posted January 21, 2008 Report Share Posted January 21, 2008 kā var ar vienu pieslēgšanos pie datubāzes izpildīt šādus vaicājumus? Visās datubāzēs, kas saniegušas zināmu brieduma pakāpi :) tai skaitā arī pēdējās MySQL versijās ir tāda lieta kā saglabātās procedūras un funkcijas, kas realizē biznesa loģiku bāzē nevis baksta miljons SQL teikumu no klienta :) Protams, ka procedūras vajag kaut kā vispārināt un rakstīt atkarīgas no ievadparametriem kā jau tas parasti tiek visur darīts. Gints Plivna Link to comment Share on other sites More sharing options...
Delfins Posted January 21, 2008 Report Share Posted January 21, 2008 ar vienu pieslēgšanos, lai lieki nenoslogotu DB. defaultā jau vienmēr ir viena pieslēgšanās ;) tas tā. 8 SQL nav nekas traks... ir strādāts, kad updeito 100.000. Link to comment Share on other sites More sharing options...
ray Posted January 21, 2008 Author Report Share Posted January 21, 2008 8 SQL nav nekas traks gribas arī iemācīties mazliet nākotnes vārdā, ja būs vajadzība pēc vairāk nekā 8 pieprasījumiem :) Vai arī kas tev īsti nav skaidrs? par procedūrām nekas nav skaidrs, bet tagad lasu kas tas par zvēru. kad izlasīšu un būs jautājumi, tad uzdošu Link to comment Share on other sites More sharing options...
andrisp Posted January 21, 2008 Report Share Posted January 21, 2008 Vebers, esi pārliecināts, ka šis apdeitos vairākus ierakstus reizē ? UPDATE Table1 SET foo = CASE WHEN id=1 THEN 1 WHEN id=2 THEN 2 END Link to comment Share on other sites More sharing options...
Vebers Posted January 21, 2008 Report Share Posted January 21, 2008 andrisp, jā. UPDATE Table1 SET foo = CASE WHEN id=1 THEN 'one' WHEN id=2 THEN 'two' END WHERE id in(1, 2) Tas where ir, domāts lai nepārrakstītu pāri visiem pārējiem ierakstiem. Link to comment Share on other sites More sharing options...
andrisp Posted January 21, 2008 Report Share Posted January 21, 2008 Nu tā jau saprotamāk :) Link to comment Share on other sites More sharing options...
ray Posted January 21, 2008 Author Report Share Posted January 21, 2008 kurš ir optimālāks variants? Vebera variants vai MySQL procedūras? Link to comment Share on other sites More sharing options...
Recommended Posts