Getting row with id=max(id)

Поиск
Список
Период
Сортировка
От Gerald Gutierrez
Тема Getting row with id=max(id)
Дата
Msg-id 5.1.0.14.0.20010606231409.02b92168@mail.rchmd1.bc.wave.home.com
обсуждение исходный текст
Список pgsql-sql
I'd like to retrieve a row of a table that has the maximum ID. For example, 
with:
 id |   s
----+-------  1 | alpha  2 | beta  3 | gamma  4 | delta

I'd like to get the row with ID=4. I've tried:

SELECT * FROM mytable WHERE id=(SELECT MAX(id) FROM mytable);

The subquery can take a /really/ long time on a table that is large. The query:

SELECT * FROM mytable ORDER BY id DESC LIMIT 1;

doesn't seem to help very much. What query is the fastest at getting this row?

A related question is: is there a way to time a query in psql, like the 
client of MySQL does?



В списке pgsql-sql по дате отправления:

Предыдущее
От: "JWR"
Дата:
Сообщение: Re: update from another table
Следующее
От: Christophe Labouisse
Дата:
Сообщение: Integrity reference and inheritance