Mam tabelę, która zawiera ok. 150 tysięcy rekordów.
Jej struktura to ID, kolumna z jakimś numerem seryjnym i do tego 2-3 kolumny z jakimiś tekstami/opisami (niezbyt długimi - po kilkadziesiąt znaków).
Ważne - tabela jest stworzona, zapełniona i potem tylko odpytywana. Odpytywanie będzie miało miejsce jedynie po numerze seryjnym - czyli użytkownik wprowadza ten numer, a SQL ma zwrócić stringi do niego przypisane. Dlatego (wprawdzie 150 tys to nie jest jakaś kosmiczna ilość) aż się prosi o założenie indeksu na kolumnie z kodem.
I teraz moje pytanie - jak uważacie, czy lepiej zrobić tą kolumnę jako varchar
czy int? Kody mają 6 albo 7 znaków (jedynie cyfry - dlatego można to zapisać w postaci liczbowej), poza znalezieniem i wyrzuceniem do raportu, nic z tym się nie dzieje, więc z punktu widzenia aplikacji, typ danych kolumny z kodami nie ma żadnego znaczenia. Tutaj chodzi jedynie o to, żeby maksymalnie szybko działało wyszukiwanie.
Wydaje mi się, że lepszą opcją będzie zrobienie tego w postaci numerycznej niż tekstowej, ale chciałem poprosić Was o potwierdzenie, albo wyprowadzenie z błędu. Poszukałem w necie i w oparciu o te informacje także mam wrażenie, że int
jest słuszniejszy, ale to może być tak jak z samochodem - kupujesz Focusa i nagle wszędzie widzisz Fordy na ulicach ;)