RomikChef, козел ты в натуре. Я надеялся, что ты хоть чуть поймешь мою ... да, че я парюсь с тобой. Я тебе, как тупому барану, уже два дня пытаюсь объяснить на пальцах, что не важно где и как я буду использовать запрос. Мне нужнео знать, какой из предложенных вариантов быстрее. А ты, как придурок прискипался к этим "левым" примерам, которые мне пришлось накатать за пять минут, да так, чтобы было видно САМОЕ ГЛАВНОЕ
КАК БУДЕТ БЫСТРЕЕ, И С МЕНЬШЕЙ НАГРУЗКОЙ НА СЕРВАК, КАКОЙ ИЗ ВАРИАНТОВ 1. Все необходимые записи (значения однозначно идентифицирующие записи) перечисленны в функции IN() - их всегда много, от 50 и до 120. Дальше объясняю для тебя, тупого барана откуда я их беру. До этого запроса посылается еще один. Он возвращает "строку" символов разделенных запятыми. Эту строку символов я разбиваю в массив и собираю снова в другую строку, но с другим разделителем. Примерно, это выглядит так:
$list = implode ("\',\'", explode (",", mysql_result($result, 0, \'needPic\')));
т.е. я разбиваю строку запятыми, а собираю строку с апостровами и запятой \',\'. ... хммм, правда можно применить и функцию str_replace() может даже быстрее получится, ну да ладно это не важно. Важно то, что именно получившуюся строку я могу использовать в запросе:
"SELECT * FROM table WHERE idPicture IN (\'$list\') AND sectionPicture=$X"
RomikChef:
Ты можешь объяснить смысл выделенного жирным куска?
Для особо тупых и, самое главное,
СЛЕПЫХ. Ты смотрел на пример таблицы, ну хотябы одним глазом?? Или они у тебя совсем заплыли от синьки?
? Еще раз посмотри.
Nicki:
CREATE TABLE table
(
idPicture varchar(25) NOT NULL,
weightDesign enum(\'text\',\'grpL\',\'grpH\') NOT NULL,
sectionPicture tinyint NOT NULL,
discriptPicture varchar(255) NOT NULL,
UNIQUE idPic (sectionPicture,idPicture)
);
Специально для тебя дебила выделил жирным. ЭТО называется уникальный, многостолбцовый индекс. ... Самое интересное, что в самом вопросе, я не стал расталковывать что это такое
Nicki:
Здесь sectionPicture необходим, т.к. он в паре с idPicture образует многостолбцовый UNIQUE индекс. Думаю, вы уже и так поняли.
Видимо, поняли только нормальные люди, вроде FreeSpace. А такой идиот, как ты, просто не в состоянии этого понять. Разжевываю, а ты глотай, милый, только не подавись, а то снова я буду виноват. В таблице может быть две, три, двадцать записей с dPicture=penis, и каждая из этих записей мне нужна, НО, ...
НО, в разных разделах, т.е. в разных
sectionPicture. Они -
sectionPicture и idPicture образуют многостолбцовый уникальный индекс. ЗНАЧИТ, чтобы отобрать только ЗАПРОШЕННЫЙ idPicture, который равен penis нужно указать в WHERE оба критерия отбора - список idPicture и раздел sectionPicture.
Но, самое интересное, что из такого паршивого вопроса, некоторые могут делать ОГРОМНУЮ дискуссию "не о чем". Ну какая тебе разница откуда я
"знаю" эти 70 ид. Ну, и че!!!!!!! Вот я тебя носом ткнул в эту кучу дерьма с 70-ю ид, и что???
Ладно. Дальше разбираю твой, а не мой бред.
RomikChef:
Эти, приведенные тобой условия - не равнозначны! по ид выбирается одно количество записей, по "weightDesign=grpL, sectionPicture=$X" - ДРУГОЕ!!!
КАК можно сравнивать их? может быть ты родишь, все-таки, недостающее условие?
Ты вообще не читаешь текст, а просто глотаешь куски отдельных фраз!!!!! ВОТ, ВОЗЬМИ ЛУПУ И СМОТРИ
Nicki:
Предположим в таблице есть 500 записей по изображениям:
- 100 из них имеют weightDesign \'text\'
- 100 из них имеют weightDesign \'grpH\'
- 300 из них имеют weightDesign \'grpL\'
- из 300-от последних, 150 имеют sectionPicture равный $x, а остальные 150, $y
Всего 500. Это хоть понятно??? weightDesign=grpL отбирает из 500, только 300, т.к. 300 из 500 имеют weightDesign=grpL. А sectionPicture=$x, из 300 отобранных отбирает 150 и вот из этих 150-и нужно отобрать 70 нужных. Я не стал заострять внимание читающих топ на weightDesign=grpL во втором примере, потому что, думал, что меня поймут. Главное это то, КАК ПОЛУЧИТЬ БЫСТРЕЕ ЭТИ ДОЛБАННЫЕ 70 ЗАПИСЕЙ -
ТОЛЬКО НА МАЭСКУЭЛЕ ИЛИ С ИСПОЛЬЗОВАНИЕМ ПХП. Все!!!!!!! Мне больше нифига не надо было. Но, ты, как мазоль на жопе. Ну на фига тебе где я беру эти идишки и куда я дел недостающее условие. Еще раз повторяю - я упростил второй пример запроса, указав в нем самое важное условие отбора, т.к. они образуют уникальный индекс. Ну ладно, не указал, мой касяк, но ведь из описания первого примера и так все понятно, как происходит отбор, а во втором я толко пояснил смысл двух условий образующих индекс.
Кароче, незнаю о чем мы базарим, какая та лажа блин, фигня, идиотизм. Тема была закрыта еще после первого ответа FreeSpace.
В следующий раз потрачу не пять минут на составление вопроса, а часа полтора, чтобы ВСЁЁЁЁЁ изложить в топике, дабы избежать коллизий со стороны слишком придирчивых товарищей!!!!
Тема исчерпана. Всем спасибо за внимание!!!