/ Forside / Teknologi / Udvikling / SQL / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
SQL
#NavnPoint
pmbruun 1704
niller 962
fehaar 730
Interkril.. 701
ellebye 510
pawel 510
rpje 405
pete 350
gibson 320
10  smorch 260
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

???



Søg
Reklame
Statistik
Spørgsmål : 177558
Tips : 31968
Nyheder : 719565
Indlæg : 6408915
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste