Vinnaren i pepparkakshustävlingen!
2018-10-31, 00:09
  #1
Medlem
Hej.
Försöker hitta så bra datatyper som möjligt för att få databasen så liten och snabb som möjligt.
Spelar egentligen ingen roll i mitt lilla test fast skoj att försöka lära sig något när man ändå är i farten. Dock så tycker jag att det står olika på alla sidor jag läst. Hur skulle ni lagt upp det?

Det jag kommer spara är:
1: 2 siffror (11-99)
2: 8 siffror (00000001-99999999) (blir kanske 1-999.....)
3: true-false eller (1-0)
4: Mindre text, som namn, mejl mm. (Max 30 tecken)
5: Längre textstycken. (T.ex 1000 tecken)



Det jag läst mig till är:
Varchar är bäst om det skiljer sig i längden som alternativ 4 varchar(30)
Char bäst vid samma längd som i alternativ 1-2 kanske även 3, char(2), (8), (1)
På 5an blir det nog text
Håller ni med eller finns det bättre datatyper.


Handlar kanske mer om hur man hämtar och skickar data. Där använder jag mig av PDO.
Spelar det någon roll hur många tabeller man gör, bättre att ha en stor än flera mindre?
Jag testar att bygga ett litet forum.
Har en tabell för rubriknamnen och olika undergrupper och en där själva forumen kommer att hamna. Lättare för mig att hitta.
__________________
Senast redigerad av Jonas-u 2018-10-31 kl. 00:20.
Citera
2018-10-31, 06:57
  #2
Moderator
Protons avatar
Citat:
Ursprungligen postat av Jonas-u
Hej.
Försöker hitta så bra datatyper som möjligt för att få databasen så liten och snabb som möjligt.
Spelar egentligen ingen roll i mitt lilla test fast skoj att försöka lära sig något när man ändå är i farten. Dock så tycker jag att det står olika på alla sidor jag läst. Hur skulle ni lagt upp det?

Det jag kommer spara är:
1: 2 siffror (11-99)
2: 8 siffror (00000001-99999999) (blir kanske 1-999.....)
3: true-false eller (1-0)
4: Mindre text, som namn, mejl mm. (Max 30 tecken)
5: Längre textstycken. (T.ex 1000 tecken)



Det jag läst mig till är:
Varchar är bäst om det skiljer sig i längden som alternativ 4 varchar(30)
Char bäst vid samma längd som i alternativ 1-2 kanske även 3, char(2), (8), (1)
På 5an blir det nog text
Håller ni med eller finns det bättre datatyper.


Handlar kanske mer om hur man hämtar och skickar data. Där använder jag mig av PDO.
Spelar det någon roll hur många tabeller man gör, bättre att ha en stor än flera mindre?
Jag testar att bygga ett litet forum.
Har en tabell för rubriknamnen och olika undergrupper och en där själva forumen kommer att hamna. Lättare för mig att hitta.
En bra början är ju att läsa manualen:

https://dev.mysql.com/doc/refman/8.0/en/data-types.html

För det andra undrar jag varför du ska spara numeriska värden som en char, när ett mer naturligt alternativ vore integer eller fraktioner av denna, i fallet med talet med max 99 finns ju smallint att tillgå.

True eller false sparas lämpligen med en bit.

8 siffror kan du eventuelt proppa in i en mediumint, maxvärdet för positiva heltal där är 8388607 enligt manualen, räcker inte det får du ta till en int.

Ett råd är att om det är ett datum du ska spara, spara det som en datumtyp, likaså heltal och annat, dvs proppa till exempel inte in ett datum i en varchar.

Rätt datatyp för rätt data kommer spara dig timmar av svordomar och framöver påtvingade typkonverteringar.

För övrigt ska du läsa på om databasnormalisering så kommer du snabbt att upptäcka de massiva nackdelarna du kommer få med att proppa in allt i en stor tabell. Det finns tillfällen då denormaliserad data är att föredra, men då handlar det om datalager och enorma mängder data, nåt som knappast är fallet här.

Det heter relationsdatabas av en anledning.
__________________
Senast redigerad av Proton 2018-10-31 kl. 06:59.
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