Как найти максимальное значение поля?
Выбрать все где поле id(int) имеет максимальное значение.
Чтобы не тормозило при большом количестве записей > 1000.
В общем нужно получить последнее значение поля id, для того чтобы увеличить его на 1 и далее использовать получившееся значение.
Спустя 25 минут, 15 секунд (19.01.2011 - 14:43) sergeiss написал(а):
Чтобы не тормозило, почитай про индексы для таблиц.
Чтобы найти максимальное, почитай про функцию MAX() в SQL. И про GROUP BY.
Чтобы найти максимальное, почитай про функцию MAX() в SQL. И про GROUP BY.
Спустя 19 минут, 35 секунд (19.01.2011 - 15:03) Guest написал(а):
mysql_query("SELECT MAX(id) FROM table")
Попробую.
А что именно происходит, когда совершается такой запрос?
Функция начинает перебирать каждую из >1000 записей?
Спустя 1 час, 3 минуты, 53 секунды (19.01.2011 - 16:07) T1grOK написал(а):
Если используется autoincrement, тогда last_insert_id().
Спустя 11 минут, 42 секунды (19.01.2011 - 16:19) Гость_User написал(а):
Да, используется.
Тогда что быстрее?
или
Тогда что быстрее?
last_insert_id()
или
mysql_query("SELECT MAX(id) FROM table")
Спустя 1 час, 15 минут, 41 секунда (19.01.2011 - 17:34) sergeiss написал(а):
T1grOK - некорректный совет, т.к. поиск может осуществляться далеко не сразу после вставки последнего значения. Это будет уже другая сессия, да плюс к тому за это время уже может быть удален последний или даже несколько последних айди...