It may be true that "some DBMSs" physically store rows in whatever order you
speicfy; however, this is a MySQL list, and MySQL does not do this (InnoDB
anyway).

For example, take a table with 10,000,000 rows and run a simple select on
it:

Database changed
mysql> SELECT id FROM trans_item LIMIT 1\G
*************************** 1. row ***************************
id: 8919552
1 row in set (0.08 sec)
mysql> SELECT id FROM trans_item ORDER BY id ASC LIMIT 1\G
*************************** 1. row ***************************
id: 8441275
1 row in set (0.08 sec)

Sure, the first query may always return that ID number; however, it may not.



On Tue, Aug 18, 2009 at 2:31 PM, Martijn Tonies <m.ton...@upscene.com>wrote:

>
>
> To further emphasize this point:  A table has no order by itself,
>>
>
> That's not entirely true ;-) Records are stored in some kind of physical
> order, some DBMSses implement clustered keys, meaning that the
> records are stored ascending order on disk.
>
> However...
>
> and you should make no assumptions about the order of rows you will get
>> back in a select statement, unless you use an ORDER BY clause.
>>
>
> This is correct in that a -result set- does not have an "order" defined
> unless you specify an ORDER BY clause.
>
> With regards,
>
> Martijn Tonies
> Upscene Productions
> http://www.upscene.com
>
> Download Database Workbench for Oracle, MS SQL Server, Sybase SQL
> Anywhere, MySQL, InterBase, NexusDB and Firebird!
>
> Database questions? Check the forum:
> http://www.databasedevelopmentforum.com
>
> --
> MySQL General Mailing List
> For list archives: http://lists.mysql.com/mysql
> To unsubscribe:    http://lists.mysql.com/mysql?unsub=joh...@pixelated.net
>
>


-- 
-----------------------------
Johnny Withers
601.209.4985
joh...@pixelated.net

Reply via email to