praegune kellaaeg 20.06.2025 01:16:00
|
Hinnavaatlus
:: Foorum
:: Uudised
:: Ärifoorumid
:: HV F1 ennustusvõistlus
:: Pangalink
:: Telekavad
:: HV toote otsing
|
|
autor |
|
kevin3220
HV vaatleja
liitunud: 31.10.2011
|
30.12.2014 02:10:13
MySQL küsimus |
|
|
Tere,
Loll küsimus, guugeldasin küll, aga targemaks ei saanud. Väike näide
`email` varchar(30) COLLATE utf8_unicode_ci NOT NULL,
`sex` char(1) COLLATE utf8_unicode_ci NOT NULL,
`phoneNumber` int(20) NOT NULL,
Et see sulugudes olev asi (arv), nagu ma aru saan näitab see, et mitu baiti võib väärtus olla? Kuid mis juhutb kui see on suurem? Kas see int(20), tähendab, et INT ei saa olla suurem arv, kui 20? Ning VARCHAR ja CHAR ajavad ka segadusse, üks on 50% kiirem nagu ma aru sain, kui QUERRYT vaja kasutada.
Vabandan, kui väga algajalikud küsimused
Tänud ette ja head vana aasta lõppu ka Teile
|
|
tagasi üles |
|
 |
jnt
HV Guru

liitunud: 10.05.2005
|
|
Kommentaarid: 110 loe/lisa |
Kasutajad arvavad: |
   |
:: |
2 :: |
0 :: |
102 |
|
tagasi üles |
|
 |
Razard
HV vaatleja

liitunud: 13.11.2003
|
30.12.2014 11:01:44
|
|
|
tsitaat: |
`email` varchar(30) COLLATE utf8_unicode_ci NOT NULL,
`sex` char(1) COLLATE utf8_unicode_ci NOT NULL,
`phoneNumber` int(20) NOT NULL,
Et see sulugudes olev asi (arv), nagu ma aru saan näitab see, et mitu baiti võib väärtus olla? Kuid mis juhutb kui see on suurem? Kas see int(20), tähendab, et INT ei saa olla suurem arv, kui 20? Ning VARCHAR ja CHAR ajavad ka segadusse, üks on 50% kiirem nagu ma aru sain, kui QUERRYT vaja kasutada.
|
varchar(30) - kuni 30 baiti teksti. Reeglina üks täht üks bait. Aga näoteks õ on 2 baiti (UTF 8 )
char(1) - alati üks täht. õ mahub ka ära
int(20) - kuni 20 kohaline täisarv.
|
|
tagasi üles |
|
 |
mikk36
HV Guru

liitunud: 21.02.2004
|
30.12.2014 11:09:14
|
|
|
Razard, alates versioon 4.1'st loetakse varcharis sümboleid, mitte baite.
|
|
Kommentaarid: 85 loe/lisa |
Kasutajad arvavad: |
   |
:: |
0 :: |
2 :: |
78 |
|
tagasi üles |
|
 |
Razard
HV vaatleja

liitunud: 13.11.2003
|
30.12.2014 15:49:01
|
|
|
mikk36, hea teada
|
|
tagasi üles |
|
 |
jnt
HV Guru

liitunud: 10.05.2005
|
30.12.2014 19:12:12
|
|
|
Ahaa, üks küsimus oli veel. CHAR ja VARCHAR erinevus.
Üheti mõistetavat kiirusevahet pole, aga seletan lahti erinevuse. Ise pead teadma, kumb sinu jaoks parem on.
Kui meil on CHAR(10), siis võtab see kettal alati 10 märgi jagu ruumi. Isegi, kui sisuks on ainult 2 tähte, võtab kettal see info ikka 10 märgi jagu ruumi.
VARCHAR(10) võtab alati kettal ruumi [tähtede arv] + 1. Viimane "märk" näitab ise-enesest, kui palju märke reaalselt on. Nii võtab 2 tähe puhul asi ruumi 3 märki.
Kui sul on mingil põhjusel tehtud tekstilise väärtusega näiteks Y(es) ja N(o), siis oleks CHAR(1) parem, kuna väli sisaldab alati ühte tähte ja pole mõtet kulutada veel üht tähte selleks, mis ütleks, et välja sees on üks täht. (Y või N)
Kui sul on aga kellegi kasutajanimi, mis võib olla kuni 32 märki näiteks, siis on VARCHAR(32) parem, kuna kui minu kasutaja nimi läheb sinna sisse, võtab see 4 märki ruumi. CHAR(32) puhul võtaks iga kasutajanimi alati ruumi 32 märki.
Seega pead ise veidi mõtlema ja selle järgi valima, kumba kasutada.
_________________ Progemisest: https://byteaether.github.io/
Seisab keldris vana 386-486-Pentium1? Räägime! Ehk saan vanakesele uue elu anda.
Vaata siia, äkki müün midagi põnevat -> https://www.osta.ee/index.php?fuseaction=listing.seller&q[seller]=jnt |
|
Kommentaarid: 110 loe/lisa |
Kasutajad arvavad: |
   |
:: |
2 :: |
0 :: |
102 |
|
tagasi üles |
|
 |
mikk36
HV Guru

liitunud: 21.02.2004
|
30.12.2014 19:41:25
|
|
|
Ei tasu muidugi unustada, et UTF-8 korral (mis peaks suhtkoht standard tänapäeval olema) võtab CHAR kuni peaaegu 3x rohkem ruumi.
Data: Foobar
VARCHAR(6): 7 baiti
CHAR(6): 18 baiti
Seda seetõttu, et UTF-8 võib kuni 3 baiti ruumi võtta.
|
|
Kommentaarid: 85 loe/lisa |
Kasutajad arvavad: |
   |
:: |
0 :: |
2 :: |
78 |
|
tagasi üles |
|
 |
agnar
HV vaatleja
liitunud: 15.08.2010
|
|
Kommentaarid: 1 loe/lisa |
Kasutajad arvavad: |
   |
:: |
0 :: |
0 :: |
1 |
|
tagasi üles |
|
 |
kevin3220
HV vaatleja
liitunud: 31.10.2011
|
01.01.2015 21:17:12
|
|
|
Aga mul on selline küsimus. Aga kui ma ei tea, kui suuri väärtusi ma kavatsen hoidma hakata. Võin kõigile 1000 ka panna?
|
|
tagasi üles |
|
 |
mikk36
HV Guru

liitunud: 21.02.2004
|
|
Kommentaarid: 85 loe/lisa |
Kasutajad arvavad: |
   |
:: |
0 :: |
2 :: |
78 |
|
tagasi üles |
|
 |
|
lisa lemmikuks |
|
|
sa ei või postitada uusi teemasid siia foorumisse sa ei või vastata selle foorumi teemadele sa ei või muuta oma postitusi selles foorumis sa ei või kustutada oma postitusi selles foorumis sa ei või vastata küsitlustele selles foorumis sa ei saa lisada manuseid selles foorumis sa võid manuseid alla laadida selles foorumis
|
|
Hinnavaatlus ei vastuta foorumis tehtud postituste eest.
|