Intereting Posts
CKEditor + Yii, загруженный AJAX: $ _POST не содержит обновленного значения Динамическая маршрутизация Codeigniter Как я могу заполнить выпадающий список, выбрав значение из другого раскрывающегося списка? Межсетевые сеансы – совместные домены корзины покупок Как получить ключевые значения из $ _POST? Подтвердить дату рождения и проверить возраст PHP: объявить переменную с глобальной областью внутри функции Строгие стандарты PHP: только переменные должны передаваться по ссылке повторяющиеся записи mysql и php Регулярные выражения: как выражать \ w без подчеркивания Neo4j Spatial 3.0.2: не найден индексный провайдер индекса Как обновить забытое паролем, отправив электронное письмо в mysql php Могу ли я обнаружить анимированные gifs, используя php и gd? Удалить лишние пробелы из строки Какими должны быть ресурсы в ACL? Модели объектов или экземпляры объектов?

Как я могу оптимизировать эти запросы?

Рассмотрим следующий фрагмент кода:

$beat = date('B'); // 1 beat = 86.4 seconds, 1000 beats = 1 day $total = 'SELECT COUNT(id) FROM ads WHERE featured = 1;'; // number of featured ads $current = 'SELECT * FROM ads WHERE featured = 1 ORDER BY id ASC LIMIT 1 OFFSET ' . ($beat % $total) . ';'; // current featured ad 

В основном это циклы через все объявленные объявления, дающие каждому из них бит (86,4 секунды), где им будет выделено особое выделение, например:

 $beat $total $current 0 3 0 1 3 1 2 3 2 3 3 0 4 3 1 5 3 2 6 3 0 7 3 1 

Это работает очень хорошо, однако мне было интересно, как-то можно было бы устранить необходимость в $ total query и выполнить то же самое, используя только один запрос.

Я не вижу в любом случае этого, не используя подзапросы, но все же, я хотел бы услышать ваше мнение по этому поводу.