Лучше писать общечеловечискими принятыми терминами - цикл значит цикл, на каком бы языке он не был, запрос значит запрос и тд.
Лям строк не так критично чтобы растягивалось на световые годы. Перед обновлением удалите индексы в которые есть обновляемые поля, желательно оставить только первичный ключ. Обновление или выборку можете делать циклами по 1000 строк например.
Так поиск а не выборка.
И в чем проблема если используется индекс? Естественно тут, чтобы найти все соответствующие столбцы нужно пройтись по всем строкам.
С индексом который я привел выше фуллскан не используется.
Для этого есть GROUP BY
PS Ощущения дежавю. по моему я это уже где-то писал
CREATE INDEX necessary_field ON table (necessary_field, index_id, quantity);
SELECT necessary_field FROM table WHERE (index_id=15 AND quantity=4) OR (index_id=19 AND quantity=2) GROUP BY necessary_field HAVING COUNT(*)=2;
2* - количество блоков с условиями (либо COUNT(*) >= 2)
DLE конечно. Все в одном
В прошлой теме мы остановились на
SELECT * FROM table t
WHERE EXISTS (SELECT 1 FROM table WHERE t.necessary_field=necessary_field AND index_id=15 AND quantity=4)
AND EXISTS (SELECT 1 FROM table WHERE t.necessary_field=necessary_field AND index_id=19 AND quantity=2)
Вариант с OR работает как раз верно, а вот AND в вашем варианте по сути не будет работать, потому что не может одновременно и quantity=4 и quantity=8, он либо 8 либо 4 (что и есть в случае OR). /ru/forum/801232
sidorka, что такое "внешний цикл"? И что такое внутренний цикл, раз есть внешний? Что такое "возможности mysql"? Пользовательские функции и процедуры? Так и пишите. Пишите нормально чтобы люди вас понимали, а то пока нихера не понятно.
Пора бы уже знать что java и javaScript два разных языка..
Что то я не понимаю здесь роль этой переменной.
Если работает правильно тогда в чем проблема?