Jump to content
php.lv forumi

INT vs VARCHAR


Roberts.R

Recommended Posts

Sveiki!

 

Es tagad tā mazliet filozofēju un domāju, un gribu saprast, vai manām domām ir pamats, un vai ir par to jēga dusmoties utt :) Temats ir brīvs, bet izteikties tomēr vajadzētu profesionāli.

 

Bieži vien, glabājot datumus un laikus, es izmantoju UNIX timestamp, kas ir 10 int liels. Perfekti noder priekš kaut kādiem foruma ieraksta laikiem utt. Pa visam nesen, uztaisīju useru datubāzi, un īpaši ilgi nedomājot, arī izmantoju šo pašu timestamp, lai saglabātu datus. To es daru tāpēc, ka šādi ir vienkārši veidot vienotas funkcijas, lai izdabūtu attiecīgos datus, izejot tikai no 10 skaitļiem.

 

Bet tagad es sapratu, ka dzimšanas dienām es nevaru izmantot vairs šo metodi, jo var gadīties, ka kāds no lietotājiem ir dzimis pirms 1970 gada, cik plats ir arī šis timestamp standarts.

 

Tāpēc tagad ir jāpārdomā mazliet datu glabāsana, un visticamāk, būs jāglabā prostā varčarā, kas, patiesību sakot, arī ir tikai 10 simbolu liels, piemēram (01-01-1970).

 

Un pa lielam, zinu, ka tie ir sīkumi, un datubāzes izmērs arī nebūs bezgalīgs (šaubos vai piepildīs BIGINT(20) UNSIGNED), bet reāli, ja skaita baitu pie baita, kāda tomēr ir tā atšķirība svarā? INT(10) ir 4 baiti, bet VARCHAR(10) būtu tik, cik viens čarakters viens baits, viens mb čarakters - divi. Right?

Link to comment
Share on other sites

Jap, nav ko *****, ir jālieto datetime formāts :) Kādreiz arī glabāju kā INT (ar <1970 nav problēmas, jo int's ir signed, glabājās kā negatīva vērtība), bet tagad cenšos pāriet tikai uz DATETIME. Es domāju, pietiek paskatīties šo te sarakstu, lai saprastu, ka timestamps te netur līdzi :)

 

http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...