|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
19.04.2012, 17:56 | #1 |
Форумчанин
Регистрация: 03.12.2010
Сообщений: 334
|
хранение e-mail адресов
у меня есть 20000 е-mail адресов, которые я собираюсь хранить в БД - это основная база.
если пользователь добавляет одновременно 1000 своих адресов, мне нужно сохранить только те из них, которых нет в основной базе. сделать уникальное поле для адресов нельзя, потому что если другой пользователь захочет добавить 1000 своих адресов, они также сравниваются с основной базой, но у первого и второго пользователя базы не зависят друг от друга, то есть одинаковые адреса могут быть. пока что в голову приходит создать две таблицы - одна для основной базы, другая для пользовательских баз... но делать 1000 обращений к основной базе для сравнения с 20000 адресами, а потом еще 1000 обращений для записи в пользовательскую базу не кажется мне привлекательным. кто подскажет, как лучше поступить, чтоб снизить нагрузку на mysql? |
19.04.2012, 18:07 | #2 |
Форумчанин
Регистрация: 20.05.2009
Сообщений: 506
|
Сделайте уникальное поле по userId + e-mail.
|
19.04.2012, 18:47 | #3 |
Форумчанин
Регистрация: 03.12.2010
Сообщений: 334
|
но ведь это все равно позволит мне добавить e-mail с userId, отличным от базового... то есть сравнение все равно придется производить перед добавлением в базу.
|
19.04.2012, 18:55 | #4 |
Далеко не
Участник клуба
Регистрация: 11.08.2011
Сообщений: 1,512
|
переберайте циклом
|
19.04.2012, 19:01 | #5 | |
Старожил
Регистрация: 31.05.2010
Сообщений: 3,301
|
Цитата:
Пользователи добавляют новые адреса в основную базу(таблицу) - или в отдельную? Как эта таблица связана с основной? Как часто будет происходить добавление адресов? Как скоро после добавления адреса будут нужны для использования? |
|
19.04.2012, 19:07 | #6 |
Форумчанин
Регистрация: 03.12.2010
Сообщений: 334
|
Код:
|
19.04.2012, 19:15 | #7 |
Форумчанин
Регистрация: 03.12.2010
Сообщений: 334
|
Andkorol, базовый id будет если делать так, как предлагает ssdm. Базовые адреса будут с одним id, а пользовательские с ихними id.
Вот я как раз и пытаюсь выяснить, как лучше - общую базу держать или раздельные. Как связана с основной, описал в первом посте. Добавления будут происходить не часто, максимум раз в неделю на каждого пользователя, но пользователей около 500... не у каждого есть своя база, не каждый добавит 1000 адресов, но некоторые пользователи могут добавлять до 1000. Адреса будут нужны каждый день, на них ежедневно рассылаются уведомления. |
19.04.2012, 19:24 | #8 |
Старожил
Регистрация: 31.05.2010
Сообщений: 3,301
|
|
19.04.2012, 19:25 | #9 |
Далеко не
Участник клуба
Регистрация: 11.08.2011
Сообщений: 1,512
|
можно сделать самым тупым образом получитьй все email в переменную типа string и проверить strpos'ом, недостаток этого метода в том что vasya@mail.ru не добавиться если есть vvasya@mail.ru
|
19.04.2012, 19:28 | #10 |
Старожил
Регистрация: 31.05.2010
Сообщений: 3,301
|
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Ищу прогу для сбора mail-адресов. | Bux2012 | Помощь студентам | 4 | 17.04.2012 15:06 |