|
| Langsomme INSERTS (det oprindelige spørgsm~ Fra : Christian R. Larsen |
Dato : 27-06-06 14:55 |
|
Hej
Er der ikke nogen, der kan komme med et godt bud på en måde at lave hurtige
INSERTs på i en MYSQL database?
Min applikation er lavet i ASP VBSCRIPT og MySQL-databasen er v. 4.x
Jeg laver en INSERT som denne i min kode:
-------------------------
Opendatabase
{Indeholder connectstring osv...}
sql="INSERT INTO Artikler " & _
"(ArtikelHeader, Artikel, ArtikelSummary, ArtikelType, LinkType,
Publiceret, Oprettet, PubliceringStart, PubliceringSlut, Omraade, Username,
Author, Author_email, Prioritet, ErNyhed, ErUndermenu) " & _
"VALUES ('" & xArtikelHeader & "','" & xArtikel & "','" & xArtikelSummary
& "', '" & xArtikelType & "', '" & xLinkType & "', 0, '" & xOprettet & "',
'" & xPubliceringStart & "','" & xPubliceringSlut & "','" & xOmraade & "',"
& _
"'" & session("Username") & "','" & xAuthor & "','" & xAuthor_email &
"','" & xPrioritet & "','" & xErNyhed & "','" & xErUndermenu & "');"
db.execute(sql)
Closedatabase
--------------
Problemet er, at webapplikationen når at time ud, hvis feltet "artikel" er
for stort (det går galt allerede ved ca. 8-9 kb).
Til gengæld kan jeg fra mit phpmyadmin foretage den samme update på få
millisekunder.
Hvordan kan det være?
-------
Min tabel ser ud som dette:
ArtikelID int(11) auto_increment
ArtikelHeader varchar(255)
Artikel longtext
ArtikelSummary varchar(255)
ArtikelType varchar(50)
Linktype varchar(50)
Publiceret tinyint(6)
Oprettet datetime
PubliceringStart date
PubliceringSlut date
Omraade varchar(100)
Author varchar(255)
Author_email varchar(255)
Prioritet varchar(100)
Username varchar(255)
ErNyhed tinyint(4)
ErUndermenu tinyint(4)
Der er indes på følgende felter:
Omraade, ArtikelID, Publiceret og Oprettet
| |
Peter Brodersen (27-06-2006)
| Kommentar Fra : Peter Brodersen |
Dato : 27-06-06 15:15 |
|
On Tue, 27 Jun 2006 15:55:00 +0200, "Christian R. Larsen"
<crlarsen@hotmail.com> wrote:
>Problemet er, at webapplikationen når at time ud, hvis feltet "artikel" er
>for stort (det går galt allerede ved ca. 8-9 kb).
>
>Til gengæld kan jeg fra mit phpmyadmin foretage den samme update på få
>millisekunder.
Hm, der burde ikke være nogen som helst forskel - phpmyadmin er jo
også en webapplikation i den henseende.
--
- Peter Brodersen
Ugens^WMånedens^WSommerens værktøj - Find vej: www.findvej.dk
Nu med link direkte til en adresse, fx: www.findvej.dk/Nybrogade2,1203
| |
Peter Lykkegaard (27-06-2006)
| Kommentar Fra : Peter Lykkegaard |
Dato : 27-06-06 15:25 |
|
Christian R. Larsen wrote:
>
> Er der ikke nogen, der kan komme med et godt bud på en måde at lave
> hurtige INSERTs på i en MYSQL database?
>
> Problemet er, at webapplikationen når at time ud, hvis feltet
> "artikel" er for stort (det går galt allerede ved ca. 8-9 kb).
>
Felttype på artikel?
> Til gengæld kan jeg fra mit phpmyadmin foretage den samme update på få
> millisekunder.
Den opdaterer/indsætter sandsynligvis på anden måde
> Artikel longtext
Ahh skulle bare læse lidt mere :)
Jeg mener du skal behandle longtext som binary data - dvs indsætte en "bid"
ad gangen
Jeg kunne ikke lige finde et eksempel - prøver senere - i aften :)
- Peter
--
Hi! I'm a .signature *virus*!
Copy me into your ~/.signature to help me spread!
| |
Peter Lykkegaard (27-06-2006)
| Kommentar Fra : Peter Lykkegaard |
Dato : 27-06-06 18:29 |
|
Peter Lykkegaard wrote:
> Jeg kunne ikke lige finde et eksempel - prøver senere - i aften :)
>
Der er wizz ting her
http://www.pbc.ottawa.on.ca/hp.html
Du kan generere VB kode til opdatering af mySQL longtext felter, det skulle
være rimeligt trvielt at "oversætte" til vbscript
Have fun
- Peter
--
Hi! I'm a .signature *virus*!
Copy me into your ~/.signature to help me spread!
| |
Christian R. Larsen (28-06-2006)
| Kommentar Fra : Christian R. Larsen |
Dato : 28-06-06 09:10 |
|
"Peter Lykkegaard" <plykkegaard@gmail.com> skrev i en meddelelse
news:44a16aee$0$13929$edfadb0f@dread15.news.tele.dk...
> Peter Lykkegaard wrote:
>
> > Jeg kunne ikke lige finde et eksempel - prøver senere - i aften :)
> >
> Der er wizz ting her
> http://www.pbc.ottawa.on.ca/hp.html
>
> Du kan generere VB kode til opdatering af mySQL longtext felter, det
skulle
> være rimeligt trvielt at "oversætte" til vbscript
>
> Have fun
Hvis du kan finde andre eksempler, ville det være rigtig godt. Jeg synes
ikke lige, jeg får så meget ud af det, wizarden producerer. Det ligner min
egen kode meget.
| |
Christian R. Larsen (28-06-2006)
| Kommentar Fra : Christian R. Larsen |
Dato : 28-06-06 10:19 |
|
"Peter Lykkegaard" <plykkegaard@gmail.com> skrev i en meddelelse
news:44a16aee$0$13929$edfadb0f@dread15.news.tele.dk...
> Peter Lykkegaard wrote:
>
> > Jeg kunne ikke lige finde et eksempel - prøver senere - i aften :)
> >
> Der er wizz ting her
> http://www.pbc.ottawa.on.ca/hp.html
>
> Du kan generere VB kode til opdatering af mySQL longtext felter, det
skulle
> være rimeligt trvielt at "oversætte" til vbscript
>
> Have fun
Jeg har kigget lidt på muligheden for at bruge client side cursors i stedet.
Jeg er ikke kommet helt igennem med at finde den korrekte syntax ift. min
type af recordset, så derfor er det kune princippet, jeg skitserer.
Burde det forbedre performance, at jeg i stedet for ...
UPDATE Tabel SET Field1='xyz' WHERE Tabel.ID=2
.... anvender ...
set rs=db.execute("SELECT * FROM Tabel WHERE Tabel.ID=2;")
rs.edit
rs("Field1")='abc'
rs.update
rs.close
???
| |
|
|