これには以下が含まれますか:
- 国際番号?
- 拡張機能?
- 実際の数以外の情報(「ボビーを求める」など)?
これらすべてが「いいえ」の場合、10文字のフィールドを使用して、数値以外のデータをすべて削除します。最初のフィールドがyesで、他の2つがnoの場合、2つのvarchar(50)フィールドを使用します。1つは元の入力用で、もう1つはすべての非数値データがストライプ化されてインデックス作成に使用されます。 2または3が「はい」の場合、拡張機能またはその他のデータを判別して適切に処理するために、2つのフィールドとある種のクレイジーなパーサーを実行すると思います。もちろん、インデックスを作成するときに余分な文字を削除するインデックスを使用して2番目の列を回避することもできますが、2番目の列を作成し、おそらくトリガーを使用して文字を削除します。
更新:AJAXの問題に対処するために、思ったほど悪くないかもしれません。これが現実的にテーブルに対して行われる主な方法である場合は、前述のように2番目の列に数字のみを格納してから、その列のインデックスをクラスター化されたものにします。