Новости
Документация
Download
Webboard
Поиск
FAQ/ЧаВо
Обратная связь




MySQL.RU - Webboard



Вернуться
11 000 записей в базе или 1? (Парень) 23/10/2016 - 14:03:15
      Re: 11 000 записей в базе или 1? (Akina) 23/10/2016 - 19:10:01
      Re: 11 000 записей в базе или 1? (Парень) 24/10/2016 - 14:26:56
      Re: 11 000 записей в базе или 1? (Akina) 24/10/2016 - 14:38:09
      Re: 11 000 записей в базе или 1? (Парень) 24/10/2016 - 20:19:19
      Re: 11 000 записей в базе или 1? (Akina) 24/10/2016 - 22:51:41
      Re: 11 000 записей в базе или 1? (Парень) 24/10/2016 - 23:21:19
      Re: 11 000 записей в базе или 1? (Akina) 25/10/2016 - 09:18:59
      Re: 11 000 записей в базе или 1? (Парень) 29/10/2016 - 00:13:02
      Re: 11 000 записей в базе или 1? (Akina) 29/10/2016 - 20:53:40
      Re: 11 000 записей в базе или 1? (Парень) 07/11/2016 - 09:37:48
      Re: 11 000 записей в базе или 1? (Akina) 07/11/2016 - 12:08:57
      Re: 11 000 записей в базе или 1? (Парень) 08/11/2016 - 13:53:59
      Re: 11 000 записей в базе или 1? (Akina) 10/11/2016 - 10:16:33
      Re: и ещё (Akina) 10/11/2016 - 10:20:07
      Re: и ещё (Парень) 12/11/2016 - 17:24:08
      Re: и ещё (Akina) 14/11/2016 - 07:56:25
      Re: и ещё (Парень) 20/11/2016 - 13:50:05
      Re: и ещё (Akina) 21/11/2016 - 23:53:10
      Re: и ещё (Парень) 22/11/2016 - 11:52:17

> Original message text:
> From: Парень - 23/10/2016 - 14:03:15
> Subject:11 000 записей в базе или 1?
> -----------------
> Нужен совет, а точнее даже если вдруг кто тестировал. Стоит задача подружить пользователей. Как лучше сделать, записывать связку друг с другом в базу, или каждому загнать в TEXT или BLOB или что там самое большое подходящее под это поле айди пользователей через запятую. Ай ди состоят из 7-9 значных чисел. Максимальное число друзей у пользователя 11 000 соответственно у первого будет 10 999 записей. У остальных будет меньше так как какая-то связка будет для одного пользователя другая для другого... Если 100 пользователей подружить между собой будет примерно 9000 записей в базе вобщем сейчас в базе 1734 пользователя, а связок 92 с лишним тысячи.. а точнее 92850. Естественно не все там будут дружить со всеми... Но... не загнется ли на 10000 пользователях MySQL? И целесообразно ли проверять массив с примерно 10000 значений на совпадения и последующим добавлением в этот массив очередного айди?
>


From: Парень - 12/11/2016 - 17:24:08
Subject:и ещё
-----------------
Индексы делал на все, потому что не особо понимаю в них. Как ресивер пишется я знаю, так было написано я что бы не менять кучу кода и запросов оставил как есть.

Вот запрос

SELECT t1.id sender
, t2.id resiver
, t3.access_token sender_token
, t5.access_token resiver_token
, t6.value sender_vk
, t7.value resiver_vk
-- 1 контакт отправителя
FROM contact t1

-- 2 контакт получателя выбираем где нет отправителя
JOIN contact t2 ON t2.id NOT IN(t1.id)

-- 1 токен отправителя рабочий
JOIN token t3 ON t3.contact_id = t1.id AND t3.worked = '1'

-- 1 спросим время последней работы отправителя
JOIN frends_send t4 ON t4.contact_id = t1.id AND t4.locked = '0' AND t4.auto = '1'

-- 2 токен получателя рабочий
JOIN token t5 ON t5.contact_id = t2.id AND t5.worked = '1'

-- 1 ВК айди контакта отправителя
JOIN contact_data t6 ON t6.contact_id = t1.id AND t6.field = 'vkontakte_id'

-- 2 ВК айди контакта получателя
JOIN contact_data t7 ON t7.contact_id = t2.id AND t7.field = 'vkontakte_id'

-- интервал через сколько минут контакт попадет в запрос
WHERE t4.upd < DATE_SUB(NOW(), INTERVAL t4.interv MINUTE)

-- выбираем так что отправителя нет в паре с получателем в таблице друзей 0_frends ни так ни так
AND t1.id NOT IN(
SELECT sender_id FROM frends WHERE resiver_id=t2.id
UNION ALL
SELECT resiver_id FROM frends WHERE sender_id=t2.id
UNION ALL
SELECT t2.id
)

-- отправителя нет в лимитах // вносится туда после ошибки: 1 при добавлении, на сутки
AND t1.id NOT IN(
SELECT contact_id
FROM users_limit
WHERE limiter = 'frendsSend'
AND (
datastop > DATE_SUB(NOW(), INTERVAL interv HOUR)
OR interv > 30
OR captcha > 9
)
)

AND t1.is_user = '1'
-- ORDER BY t4.upd ASC
LIMIT 1


Вот это комментированное ORDER BY t4.upd ASC вводит MySQL в ступор.


[Это сообщение - спам!]

Последние сообщения из форума

Уважаемые посетители форума MySQL.RU!
Убедительная просьба, прежде чем задавать свой вопрос в этом форуме, обратите внимание на разделы:
- ответы на наиболее часто задаваемые вопросы - FAQ
- раздел документация
- раздел поиск по сообщениям форума и документации
Также, старайтесь наиболее подробно указывать свою ситуацию (версию операционной системы, версию MySQL, версию программного обеспечения, по которому возникает вопрос, текст возникающих ошибок, и др.)
Помните, чем конкретнее Вы опишете ситуацию, тем больше шансов получить реальную помощь.
 Имя:
 E-mail:
 Тема:
 Текст:
Код подтверждения отправки: Code
43689



РЕКЛАМА НА САЙТЕ
  Создание сайтов | |