Avatar billede heenet Novice
31. august 2006 - 14:54 Der er 5 kommentarer og
2 løsninger

MySQL vs. MS SQL og specielle tegn

Jeg er netop skiftet til et Webhotel hvor jeg har adgang til MS SQL.
Jeg har mine løsninger ligende på MySQL, og det vil selvfølgelig være noget af en opgave at flytte det hele over i MS SQL.

Kan det betale sig?

Jeg tilgår begge databaser via web, og jeg har indtil videre ikke over 3000 rækker i mine tabeller, dette tal vil muligvis vokse en del, og måske komme op i nærheden af 10.000 poster i en tabel.
Jeg ved at i MS SQL server verdenen er dette små tabeller, som den ikke bruger særlige resourser på, men hvad med MySQL?
Vil jeg få en mærkbar bedre performance ved at skifte, eller kan jeg ligeså godt holde mig til det jeg kender bedst, og der hvor data i forvejen er, og så droppe skiftet til MS SQL?

Jeg har prøvet i en statistik test at komme over 80.000 poster i en MySQL tabel, og det døde den af. Den blev ved med at "være i brug", så jeg kunne hverken slette, droppe eller noget som helst i phpMyAdmin.
Jeg ved så ikke om det var databasen eller min forrige udbyder der havde problemet der.
Det skal siges at tabellen kørte nogenlunde op til 50.000 poster.

En anden ting er med at gemme special tegn i databasen.
I phpMyAdmin er det jo ikke noget problem f.eks. at putte JavaScript i databasen, selvom de som regel indeholder bl.a. '
Men i min egen ASP spaghettikodede brugerflade, der gylper den hvis jeg f.eks. vil inserte tegnet '
Jeg har kompenseret for dette ved at skifte tegnet ud med %|% og så skifte tilbage når jeg henter data igen, men det er jo ikke optimalt.
Hvordan får jeg lov til via ASP kode at skrive ' ned i en MySQL tabel celle?
Og hvis jeg vælger at skifte til MS SQL er problemet så det samme der?

På forhånd tak

MVH
Jesper
Avatar billede barklund Nybegynder
31. august 2006 - 15:03 #1
Jeg har MySQL-tabeller med over 50 millioner rækker, og hvis man forstår at bruge indekser og forstår hvilke queries, man skal bruge på tabellen, så er det intet problem. Så antal rækker bør ikke diktere dit skift.

Mht. specielle tegn, så er det som oftest blot at "escape'e" dem. I SQL gør man det oftest ved at sætte en \ foran tegn. Altså:

SELECT foo FROM bar WHERE kol = 'it\'s a good day to die';

Det er det samme i MySQL og MS SQL og at erstatte det med %|% er en voldsomt grim løsning. Og at lave det i ASP er ganske trivielt.

Altså har du ikke umiddelbart nævnt noget, der indikerer at du bør skifte til MS SQL med mindre muligheden for MySQL er besværligere, dyrere eller andet.

--
Morten Barklund
Avatar billede arne_v Ekspert
31. august 2006 - 15:10 #2
Der er ikke noget i stoerrelsen som kraever et skift. Absolut ikke.

Dit 80000 problem skyldes ikke en restriktion men et eller andet konkret teknisk problem.

Hvis du bruger parameters i din ADO, saa burde provideren selv haandtere ' tegn m.v..
Avatar billede arne_v Ekspert
31. august 2006 - 15:11 #3
ioevrigt vil jeg da mene at det er mest almindeligt i SQL at fordoble ' til ''
fremfor at escape til \'
Avatar billede arne_v Ekspert
30. september 2006 - 19:44 #4
cd4all ?
Avatar billede heenet Novice
05. april 2007 - 00:04 #5
Hej arne v og barklund (hvis I stadig er der ude et sted ;-)
Undskyld fraværelsen (kan man sige det?)
Jeg kom væk fra mit problem da jeg pludselig skiftede job, og ikke har haft tid til at kigge på det, og prøve jeres forslag. Har dog kigget en del på oplysning om, at mit problem med database størrelsen lå hos mig selv, men heller ikke her har jeg haft tid til at prøve det store. Jeg vil dog gerne give jer point for jeres fornuftige kommentare, hvis I lige smider et svar
Avatar billede arne_v Ekspert
05. april 2007 - 02:04 #6
ok
Avatar billede barklund Nybegynder
05. april 2007 - 13:46 #7
finfin
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