Omfatter dette:
- Internationale numre?
- Udvidelser?
- Andre oplysninger udover det faktiske nummer (såsom "spørg efter bobby")?
Hvis alle disse er nej, ville jeg bruge et 10 tegn felt og fjerne alle ikke-numeriske data. Hvis den første er et ja, og de to andre er nej, ville jeg bruge to varchar(50) felter, et til det originale input og et med alle ikke-numeriske data stribet og brugt til indeksering. Hvis 2 eller 3 er ja, tror jeg, at jeg ville lave to felter og en slags skør parser for at bestemme, hvad der er udvidelse eller andre data, og håndtere det korrekt. Selvfølgelig kan du undgå den 2. kolonne ved at gøre noget med indekset, hvor det fjerner de ekstra tegn, når du opretter indekset, men jeg ville bare lave en anden kolonne og formentlig fjerne tegnene med en trigger.
Opdatering:For at løse AJAX-problemet er det måske ikke så slemt, som du tror. Hvis dette realistisk set er den vigtigste måde, noget gøres på tabellen på, skal du som sagt kun gemme cifrene i en sekundær kolonne, og derefter gøre indekset for den kolonne til det klyngede.