>czy kluczem głównym (primary key) może być pole typu VARCHAR(255) bądź
>TXT ? wiem że da się to tak zrobić, ale czy jest to w jakimś sensie
>niewłaściwe bądź może powodować pracę bazy danych ?
Teoretycznie można tak. Ale łatwiej i szybciej jest porównywać liczby, a nie
stringi. Łatwiej jest zadbać o unikalność liczb. Do tego dochodzą indeksy na
polach tekstowych...
--
Sławomir Szyszło mailto:slas...@poczta.onet.pl
Primus inter FAQires & Grand Inquisitor no.0 of pl.comp.bazy-danych
FAQ pl.comp.bazy-danych http://www.dbf.pl/faq/
Archiwum http://groups.google.com/groups?group=pl.comp.bazy-danych
pracę bazy danych powoduje podłączenie się do niej i wydawanie jej zlecen :))))
a tak na serio. w bardzo starych silnikach na indeks główny uzywało się
pól typu CHAR(ilestam), bo .... porownanie liczb bylo "liczbowym"
porownaniem napisow. dlatego indeks na CHAR dzialal szybciej.
ale wspolczesnie, i w twoim przypadku nie ma tego problemu.
dlatego klucz glowny warto oprzec o indeks numeryczny, bo mniej danych
sie porownuje. tak bardzo mocno upraszczajac, operujac na danych 1 bajt
(8 bitow) dla typu CHAR(3) trzeba porownac 3 bajty, a dla numerycznego
tylko jeden na kazda ze stron porownania. im wiekszy zakres liczbowy,
tym gorzej dla typu CHAR.
znik.