Това включва ли:
- Международни номера?
- Разширения?
- Друга информация освен действителния номер (като „поискай за Боби“)?
Ако всички те са не, бих използвал поле от 10 символа и бих премахнал всички нечислови данни. Ако първото е да, а другите две са не, бих използвал две полета varchar(50), едното за оригиналния вход и едно с всички нечислови данни, ивици и използвани за индексиране. Ако 2 или 3 са да, мисля, че ще направя две полета и някакъв луд анализатор, за да определя какво е разширение или други данни и да се справя с тях по подходящ начин. Разбира се, бихте могли да избегнете втората колона, като направите нещо с индекса, където той премахва допълнителните знаци при създаването на индекса, но аз просто бих направил втора колона и вероятно ще направя премахването на знаци със задействане.
Актуализация:за да се справим с проблема с AJAX, може да не е толкова зле, колкото си мислите. Ако това е реалистично основният начин, по който всичко се прави с таблицата, съхранявайте само цифрите във вторична колона, както казах, и след това направете индекса за тази колона клъстериран.