Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум MySQL

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум (новые сообщения вниз) Структурный форум

тема: Ограничения в запросе

Сообщения:  [1-10]   [11-13] 

 
 автор: Киналь   (07.08.2005 в 16:15)   письмо автору
 
   для: Axxil   (06.08.2005 в 11:59)
 

Как такой вариант - добавиьт в таблицу необязательное поле novice со значениями 1 или 0. Присваивать единицу новичкам (записям моложе 14-ти дней), а у более старых обнулять. Тогда при выводе отсортировать сначала по этому полю, и вверху окажутся записи последних двух недель.

   
 
 автор: Axxil   (07.08.2005 в 01:29)   письмо автору
 
   для: Loki   (06.08.2005 в 21:36)
 

так и я о том же :)
если бы было and то это были бы только все 14-ти дневные с признаком первой страницы

   
 
 автор: Loki   (06.08.2005 в 21:36)   письмо автору
 
   для: Axxil   (06.08.2005 в 18:49)
 

Перечитайте внимаетльно запрос: используется or а не and.

   
 
 автор: cheops   (06.08.2005 в 19:47)   письмо автору
 
   для: Axxil   (06.08.2005 в 19:32)
 

Хм... скорее всего хорошо, ведь временые типы - это целочисленные типы и здесь вычисление должно происходить быстро.

   
 
 автор: Axxil   (06.08.2005 в 19:32)   письмо автору
 
   для: cheops   (06.08.2005 в 19:20)
 

Накопал вот такой манёвр:

<?
  $sql_str
='select * from people order by if((regDate > NOW() - INTERVAL 14 DAY),0,1),click_count,fl_first_page,sname';
?>

Поль Дюбуа "MySQL сборник рецептов". Рекомендую просто библия mySQL!!!
Как он по скорости?
И вообще как и где можно оценить скрость выполнения запроса?

Так вот я и не заботился об оптимизации пока сервер БД не упал :)

   
 
 автор: cheops   (06.08.2005 в 19:20)   письмо автору
 
   для: Axxil   (06.08.2005 в 18:49)
 

Одним нет, да и не надо к этому стремится - один запрос, вместо двух вовсе не означает, что он будет в два раза быстрее выполняться... Главная задача, чтобы приложение работало - заботится о скорости при современной вычислительной технике следует только тогда, когда она начинает буксовать (я этого не наблюдал лет уже 5).

   
 
 автор: Axxil   (06.08.2005 в 18:49)   письмо автору
 
   для: Loki   (06.08.2005 в 18:41)
 

опять же вытаскиваем только 14 дневных и тех у кого флаг 1 а остальные отсеиваются...
Блин я так понимаю по-любому в один запрос не получится...

   
 
 автор: Loki   (06.08.2005 в 18:41)   письмо автору
 
   для: Axxil   (06.08.2005 в 18:19)
 


SELECT * FROM people WHERE regDate > NOW() - INTERVAL 14 DAY  OR WHERE flag=1 ORDER BY click_count DESC 

   
 
 автор: Axxil   (06.08.2005 в 18:19)   письмо автору
 
   для: Loki   (06.08.2005 в 14:08)
 

Согласен, так мы вытащим всех кто младше 14 дней, а как быть с остальными?

   
 
 автор: Loki   (06.08.2005 в 14:08)   письмо автору
 
   для: Axxil   (06.08.2005 в 12:30)
 

Мне кажется что так:

SELECT * FROM people WHERE regDate > NOW() - INTERVAL 14 DAY ORDER BY click_count DESC

   

Сообщения:  [1-10]   [11-13] 

Форум разработан IT-студией SoftTime
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования