Vinnaren i pepparkakshustävlingen!
2007-06-29, 11:19
  #1
Medlem
en rad har en col vid namn artikelnr som innehåller nåt i stil med "RS00039".
den är såklart unik, men bör jag ändå ha en id-kolumn för optimeringens skull?
Måste väl för övrigt vara mindre bra att blanda in bokstäver i siffrorna, är väl inte lika snabbt och söka i?
Citera
2007-06-29, 11:36
  #2
Medlem
Legimitations avatar
Text är långsammare att använda än siffror. Särskilt vid sökningar och matchningar eftersom varje enskilt tecken måste matchas mot sökvillkoret. Om artikelnr ska ingå som join i queries bör du ersätta det med ett ID (siffror) om tabellerna innehåller många poster.
Har du kraftfull dator med mycket primärminne är dock problemet marginellt. Databaser älskar mycket primärminne.
Du kan sätta "unique constraint" på artikelnr så att dubbletter undviks. Kolla i dokumentationen för den databas du använder för hur du ska göra.
Citera
2007-06-29, 14:16
  #3
Medlem
Citat:
Ursprungligen postat av Legimitation
Text är långsammare att använda än siffror. Särskilt vid sökningar och matchningar eftersom varje enskilt tecken måste matchas mot sökvillkoret. Om artikelnr ska ingå som join i queries bör du ersätta det med ett ID (siffror) om tabellerna innehåller många poster.
Har du kraftfull dator med mycket primärminne är dock problemet marginellt. Databaser älskar mycket primärminne.
Du kan sätta "unique constraint" på artikelnr så att dubbletter undviks. Kolla i dokumentationen för den databas du använder för hur du ska göra.

db'n ligger hos loopia, så det lär väl vara bra prestanda så sett.
antalet rader lär hamna på runt 800 framöver.. anledningen till att jag blandar in [a-z] är pga. att det ska likna ett annat system där delarna och dess artikelnr redan finns både i db och utskrivna. Så får nog ta den smällen. Tror inte heller att det kommer vara två besökare inne samtidigt nån gång heller så.
Mvh joel
Citera
2007-06-30, 15:26
  #4
Medlem
äppelkakas avatar
Citat:
Ursprungligen postat av herrbit
db'n ligger hos loopia, så det lär väl vara bra prestanda så sett.
antalet rader lär hamna på runt 800 framöver.. anledningen till att jag blandar in [a-z] är pga. att det ska likna ett annat system där delarna och dess artikelnr redan finns både i db och utskrivna. Så får nog ta den smällen. Tror inte heller att det kommer vara två besökare inne samtidigt nån gång heller så.
Mvh joel
800 rader är absolut ingenting. 1-2 besökare samtidigt är ännu mera ingenting. Lägg 0% fokus på prestanda och 100% fokus på enkelthet. Gör det du finner enklast/snyggast/modifierbarast kodmässigt.

PS. Själv använder jag nästan alltid ett autonumber som primärnyckel för övrigt. Och jag gör det inte pga prestande. För att lösa prestandaproblem med joins ska du sätta index på kolumnerna.
Citera
2007-06-30, 16:46
  #5
Medlem
Citat:
Ursprungligen postat av äppelkaka
800 rader är absolut ingenting. 1-2 besökare samtidigt är ännu mera ingenting. Lägg 0% fokus på prestanda och 100% fokus på enkelthet. Gör det du finner enklast/snyggast/modifierbarast kodmässigt.

PS. Själv använder jag nästan alltid ett autonumber som primärnyckel för övrigt. Och jag gör det inte pga prestande. För att lösa prestandaproblem med joins ska du sätta index på kolumnerna.

tack för tipsen... nej jag tycker inte heller det verkar så mycket, men har å andra sidan ingen vidare uppfattning om när prestandan skulle kunna börja sacka heller. vore ingen höjdare att behöva ändra tabellerna när dem är fyllda och webbapplikationen är uppbyggd kring den. Hade jag haft en ID-kolumn av int-typ hade ja ju såklart kört med autoökning, men skippar nog den och kör med artikelnr som PK istället, då den är unik och den ska ändå skrivas in manuellt för varje rad. en egen id-kolumn hade väl bara blivit överflödigt, då matchningarna ändå kommer ske mellan artikelnummret.
Mvh joel
Citera

Stöd Flashback

Flashback finansieras genom donationer från våra medlemmar och besökare. Det är med hjälp av dig vi kan fortsätta erbjuda en fri samhällsdebatt. Tack för ditt stöd!

Stöd Flashback