Temat: char vs varchar i podobne typy - NIE ROZUMIEM PO CO JEST ICH TAK DUŻO
Witam
Chciałem się zapytać czy nie lepiej używać varchar zamiast char jako typ dla przeróżnych znaków, bo nie wiem czym to ma się różnic w końcowej pracy serwera?
Np:
Mamy jakieś imie -
CREATE TABLE tabela (
imie varchar(20));
i
CREATE TABLE tablea (
imie var(20));
i
CREATE TABLE tabela (
imie text);
Czym to się różni w pracy serwera?. Typ "text" czyta jedynie tekst, a char/varchar znaki. Znaki, czyli wszystko, po co bawić się w ogrniczenia?
Analogiczna sytuacja do typów numerycznych, jeżeli mamy wrzucić w tabele jakieś cyfry/liczby.
CREATE TABLE tabela (
numer int2);
CREATE TABLE tabela (
numer int4);
CREATE TABLE tabela (
numer int8);
Każde z typów numerycznych ma ogranczenie, ale jaka jest różnica w praktyce, gdy użyje int8, albo int2 gdy potrzbuje JEDYNIE liczb od 1 do 4. Co z tego jak użyje int2, a int8 do tej operacji na danych? Czy inaczej on to jakos liczy, gdy ma int8, a inaczej gdy ma in2, a jeszcze inaczej gdy ma int4? Nie lepiej mieć jede typ np: int4, w ktorym chyba może sie mieścic największa liczba?,ale nie musi.
Nie lepiej dla typów tekstowych i numerycznych dać zamiennik po prostu jako varchar? on czyta przecież znaki, a znaki, czyli wszystko. PO CO SĄ TE RÓŻNE TYPY, gdy mamy varchar, które czyta znaki, z znaki to literka i cyfra, tego nie rozumiem i czym one się różnią od siebie w pracy serwera?