Avatar billede trophymanager Nybegynder
16. november 2006 - 17:40 Der er 4 kommentarer og
1 løsning

maksimum query størrelse

hej  - jeg sidder og skal lave en query af formatet

update list set amount=amount+5 where id in(x,y,z,....);

Mit spørgsmål er nu hvor stor jeg kan lave sådan en query. Altså med x,y,z. Kan jeg have en liste på fx 1 million numre indeni?

Hvor kan jeg se hvad der er min maksimale query størrelse længde? Bruger mysql og apache
Avatar billede arne_v Ekspert
17. november 2006 - 03:25 #1
så længe længden er mindre end max_allowed_packet vil jeg tro at det går

men hvis du har en nyere MySQL var en subquery vel bedre !
Avatar billede trophymanager Nybegynder
17. november 2006 - 13:25 #2
min max allowed packed er: 1,048,576

jeg går ud fra det må være 1 mb, vil der være nogen problemer forbundet med at udvide det til fx 10 mb (hvis jeg i forvejen har kontrol over længden på alle queries)?

Er der et sted jeg kan læse mere om subqueries, eller mener du simpelthen bare at dele den på i to?
Avatar billede arne_v Ekspert
17. november 2006 - 19:39 #3
du kan godt udvide den til 10 MB

bemaerk at saa store queries naeppe er hurtige

med subquery mener jeg

UPDATE list SET amount = amount + 5 WHERE id IN (SELECT ...)
Avatar billede trophymanager Nybegynder
20. november 2006 - 11:52 #4
ok - jeg lavede max til 32 mb :) ved godt den ikke er så hurtig, men den skal bare være hurtigere en mængden af små queries når clienten også skal have adgang samtidig med en masse andre brugere - det gjorde ihvertfald min opdatering 50% hurtigere :P smid et svar.
Avatar billede arne_v Ekspert
20. november 2006 - 13:23 #5
ok
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Computerworld tilbyder specialiserede kurser i database-management

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester