Отправляет email-рассылки с помощью сервиса Sendsay

RFpro.ru: Программирование на PHP

  Все выпуски  

RusFAQ.ru: Программирование на PHP


Хостинг Портала RusFAQ.ru:
MosHoster.ru - Профессиональный хостинг на Windows 2008

РАССЫЛКИ ПОРТАЛА RUSFAQ.RU

Чемпионы рейтинга экспертов в этой рассылке

Сергей Луконин
Статус: Студент
Рейтинг: 129
∙ повысить рейтинг >>
Василий Сергеевич
Статус: 3-й класс
Рейтинг: 68
∙ повысить рейтинг >>
Товарищ Бородин
Статус: Профессионал
Рейтинг: 66
∙ повысить рейтинг >>

/ КОМПЬЮТЕРЫ И ПО / Языки программирования / PHP

Выпуск № 1049
от 29.11.2008, 12:05

Администратор:Калашников О.А.
В рассылке:Подписчиков: 427, Экспертов: 47
В номере:Вопросов: 1, Ответов: 1

Нам важно Ваше мнение об этой рассылке.
Оценить этот выпуск рассылки >>

Вопрос № 151625: Привет! Что быстрее будет работать: 1) "SELECT text from mytable order by rand() limit 1"; 2) "SELECT max(id) from mytable" с последующим выбором в php случайного id и повторным запросом к базе данных за знач...


Вопрос № 151.625
Привет!

Что быстрее будет работать:

1) "SELECT text from mytable order by rand() limit 1";

2) "SELECT max(id) from mytable" с последующим выбором в php случайного id и повторным запросом к базе данных за значением text?
Отправлен: 24.11.2008, 11:55
Вопрос задал: Прим Палвер (статус: 4-й класс)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 7)

Отвечает: Seprize
Здравствуйте, Прим Палвер!
Вообще два запроса будет скорее всего выполняться дольше чем один.

В конкретном примере думаю быстрее всего будет
$sql = "SELECT COUNT(*) FROM `mytable`";
а потом
$sql = "SELECT `text` from `mytable` limit {$from},1";
где
$from=rand(1,$count)-1;
использование второго вашего варианты чревато тем, что может не оказаться такого id
p.s. скорость запросов может сильно отличаться от загруженности сервера.

Приложение:

Ответ отправил: Seprize (статус: 1-й класс)
Ответ отправлен: 24.11.2008, 13:10

Как сказать этому эксперту "спасибо"?
  • Отправить SMS #thank 236520 на номер 1151 (Россия) | Еще номера >>
  • Отправить WebMoney:
  • Вам помогли? Пожалуйста, поблагодарите эксперта за это!

    Оценка за ответ: 5
    Комментарий оценки:
    Спасибо. Но одним запросом можно выбрать случайное?


    Вы имеете возможность оценить этот выпуск рассылки.
    Нам очень важно Ваше мнение!
    Оценить этот выпуск рассылки >>

    Отправить вопрос экспертам этой рассылки

    Приложение (если необходимо):

    * Код программы, выдержки из закона и т.п. дополнение к вопросу.
    Эта информация будет отображена в аналогичном окне как есть.

    Обратите внимание!
    Вопрос будет отправлен всем экспертам данной рассылки!

    Для того, чтобы отправить вопрос выбранным экспертам этой рассылки или
    экспертам другой рассылки портала RusFAQ.ru, зайдите непосредственно на RusFAQ.ru.


    Форма НЕ работает в почтовых программах The BAT! и MS Outlook (кроме версии 2003+)!
    Чтобы отправить вопрос, откройте это письмо в браузере или зайдите на сайт RusFAQ.ru.

    Скажите "спасибо" эксперту, который помог Вам!

    Отправьте СМС-сообщение с тестом #thank НОМЕР_ОТВЕТА
    на короткий номер 1151 (Россия)

    Номер ответа и конкретный текст СМС указан внизу каждого ответа.

    Полный список номеров >>

    * Стоимость одного СМС-сообщения от 7.15 руб. и зависит от оператора сотовой связи. (полный список тарифов)
    ** При ошибочном вводе номера ответа или текста #thank услуга считается оказанной, денежные средства не возвращаются.
    *** Сумма выплаты эксперту-автору ответа расчитывается из суммы перечислений на портал от биллинговой компании.


    © 2001-2008, Портал RusFAQ.ru, Россия, Москва.
    Авторское право: ООО "Мастер-Эксперт Про"
    Техподдержка портала, тел.: +7 (926) 535-23-31
    Хостинг: "Московский хостер"
    Поддержка: "Московский дизайнер"
    Авторские права | Реклама на портале

    ∙ Версия системы: 5.12 от 19.11.2008

    Яндекс Rambler's Top100
    RusFAQ.ru | MosHoster.ru | MosDesigner.ru
    RusIRC.ru | Kalashnikoff.ru | RadioLeader.ru

    В избранное