Hi MySql Details ---- My server is running MySQL 3.23.45 and I have 4.0.0-alpha-nt on my local test machine.
What is the fastest way to select the first or the last row from a database? I have tried queries like this (id is an auto incrementing primary key) select * from names order by id desc limit 1 select * from names order by id asc limit 1 select * from names limit 1 if I run the following sql queries with the explain command it returns the following results **************** table type possible_keys key key_len ref rows Extra ----- ---- ------------- --- ------- --- ---- ----- names index NULL PRIMARY 4 NULL 61368 ************* No matter what I do, and what indexes I use, I cannot seem to find a way of selecting the last or first row without scanning the whole table. A few times recently I've wished for a new table type, a table that acts more like a pipe or stack just to solve this problem. Thanks Pete Kelly Other Items on my MySql wish list. 1 . It would also be nice to combine a select and a delete command together to form a whole new command, (Retrive data and auto delete the row) 2 . Another new command I would like to see is "Show Processlist History", basically this would show the last 30 or so queries run on the server. 3. I often run queries like this SELECT id FROM users WHERE name = 'pete' if the row exists UPDATE users SET visits=visits+1 WHERE name = 'pete' else INSERT INTO users (name) VALUES ('pete') It would be nice to make this type of code quicker. --------------------------------------------------------------------- Before posting, please check: http://www.mysql.com/manual.php (the manual) http://lists.mysql.com/ (the list archive) To request this thread, e-mail <[EMAIL PROTECTED]> To unsubscribe, e-mail <[EMAIL PROTECTED]> Trouble unsubscribing? Try: http://lists.mysql.com/php/unsubscribe.php