Я создаю веб-страницу с фотографиями. Для того, чтобы сделать все комбинации контента, я использую кросс-соединение. Допустим, у меня есть следующая простая таблица:
настольные фотографии
id filename
------------
1 a.jpg
2 b.jpg
3 c.jpg
4 d.jpg
5 e.jpg
Количество комбинаций, которые я могу составить из таблицы, равно 10, и это
1,2
1,3
1,4
1,5
2,3
2,4
2,5
3,4
3,5
4,5
Я получаю вышеуказанный результат, используя следующий перекрестный запрос
SELECT cp1.id,
cp2.id
from photos as cp1
cross join photos as cp2
where cp1.id < cp2.id
... и я использую следующий запрос для отображения проблем, которые пользователь не видел.
SELECT cp1.id,
cp1.filename,
cp2.id,
cp2.filename
from challenge_photos as cp1
cross join challenge_photos as cp2
where cp1.id < cp2.id
and (cp1.id,cp2.id) not in ( (x1,x2), (x1,x2) )
and cp1.id = something
and cp2.img_id != something
Пока что эти запросы работают просто отлично. Каждый запрос занимает около 0,0002 секунды (из 2300 строк) у phpmyadmin.
Давайте предположим, что в моей таблице 2000 строк. Количество возможных комбинаций огромно. У меня будут проблемы, когда на моем веб-сайте будет много активных пользователей?