Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Выбор последующей записи [2]

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (2): « 1 [2]   

> Без описания
LIME
Отправлено: 22 Июля, 2012 - 09:34:36
Post Id


Активный участник


Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010  


Помог: 322 раз(а)




PHP:
скопировать код в буфер обмена
  1. $time=time();
  2. //тут прога в большом цикле ...1000
  3. echo time()-$time;
вот и весь тест
 
 Top
ant
Отправлено: 22 Июля, 2012 - 09:35:46
Post Id



Частый гость


Покинул форум
Сообщений всего: 133
Дата рег-ции: Янв. 2011  
Откуда: Украина, Крым


Помог: 0 раз(а)




А размер таблицы не важен?
 
 Top
LIME
Отправлено: 22 Июля, 2012 - 09:37:12
Post Id


Активный участник


Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010  


Помог: 322 раз(а)




конечно важен
и интервал между ид
для нескольких ид для верности можно сделать и на боевой таблице
 
 Top
ant
Отправлено: 22 Июля, 2012 - 09:41:06
Post Id



Частый гость


Покинул форум
Сообщений всего: 133
Дата рег-ции: Янв. 2011  
Откуда: Украина, Крым


Помог: 0 раз(а)




Понятно. Ну я только вечером смогу поэкспериментировать.
 
 Top
tuareg
Отправлено: 22 Июля, 2012 - 09:46:09
Post Id


Участник


Покинул форум
Сообщений всего: 1234
Дата рег-ции: Июнь 2010  


Помог: 69 раз(а)




Если примари кей, то можно не сортировать (ключи и так хранятся отсортироваными по возрастанию).
CODE (SQL):
скопировать код в буфер обмена
  1. SELECT id FROM tbl WHERE id>$id ORDER BY id LIMIT 1;

Это конечно же быстрей. Хотя бы просто потому что нет цикла. И не надо иницилизировать глобальную переменную.
А так задача решается в три этапа.
1 Находим min,max
2 Сравниваем если id=max прекращаем искомый id=min
3 Находим
CODE (SQL):
скопировать код в буфер обмена
  1. SELECT id FROM tbl WHERE id>$id LIMIT 1;
 
 Top
ant
Отправлено: 22 Июля, 2012 - 09:49:17
Post Id



Частый гость


Покинул форум
Сообщений всего: 133
Дата рег-ции: Янв. 2011  
Откуда: Украина, Крым


Помог: 0 раз(а)




tuareg пишет:
А так задача решается в три этапа.
1 Находим min,max
2 Сравниваем если id=max прекращаем искомый id=min
3 Находим
CODE (SQL):
скопировать код в буфер обмена
  1. SELECT id FROM tbl WHERE id>$id LIMIT 1;

да
 
 Top
LIME
Отправлено: 22 Июля, 2012 - 09:50:08
Post Id


Активный участник


Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010  


Помог: 322 раз(а)




я бы все равно проверил из интереса хотябы узнать степень разницы
 
 Top
tuareg
Отправлено: 22 Июля, 2012 - 10:15:55
Post Id


Участник


Покинул форум
Сообщений всего: 1234
Дата рег-ции: Июнь 2010  


Помог: 69 раз(а)




КО Улыбка
Спойлер (Отобразить)
 
 Top
Страниц (2): « 1 [2]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Работа с СУБД »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB