Мое приложение хочет сохранить список международный номер телефона в базе данных mysql. Затем приложение должно будет запросить базу данных и выполнить поиск определенного номера. Звучит просто, но на самом деле это огромная проблема.Борьба с базой данных MySQL по телефонам
Поскольку пользователи могут искать это число в другом формате, нам нужно будет выполнять полное сканирование в базу данных каждый раз.
Например. У нас может быть номер 17162225555, хранящийся в базе данных (вместе с еще 5 миллионами записей). Теперь пользователь приходит и пытается выполнить поиск с использованием 7162225555. Другой пользователь может попробовать serach с 2225555. и т. Д. Иными словами, база данных должна выдать SQL-запрос, используя «как% number%», что приведет к полное сканирование.
Как мы должны проектировать это приложение? Есть ли способ потренировать Mysql, чтобы справиться с этим лучше? Или мы вообще не должны использовать SQL?
PS. У нас есть миллионы записей и 10 с этих поисковых запросов в секунду.
Не могли бы вы создать приложение для ввода определенных полей, а затем сломать номер. И.Е. код страны, 7-значный номер и т. д. Затем вы сопоставляетесь с индексированным столбцом, а не с полным текстовым поиском. – JNK
Вы только сохраняете номера в Соединенных Штатах, или у вас есть международные номера? Если это всего лишь номера в США, следует легко форматировать номера, как предлагает JNK. Если вы используете международные номера, я подозреваю, что это будет намного сложнее. –
Этот связанный вопрос обсуждает разбиение международных номеров на составные части, если это так, как вы хотели перейти http://stackoverflow.com/questions/2543938/how-to-split-mobile-number-into-country-code -area-code-and-local-number/2544066 # 2544066 –