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