InnoDB does "clustering in the Sybase style" but MyISAM is lean, mean
and quick.

If you really wanted to do this though, you could probably do the
following:

CREATE TABLE tab SELECT * FROM old_tab ORDER BY zip_code ASC;

And then add the indexes!

One thing you should know though - MyISAM's indexing is pretty quick
(as is InnoDB's) so ordering in this fashion is very unlikely to bring
you any benefit in terms of finding results. The only performance
benefit you may get would be if you were to hit the database with a lot
of queries asking for a range of sequential values on the ordered
attribute AND you put the effort into ensuring that the table's ordering
characteristic didn't change much.

Regards,

Chris

On Sat, 2004-01-03 at 09:50, Casey Sheridan wrote:
> In MS SQL Server 2000, it is possible to create what MS refers to as
> "clustered indexes."  You can have only one clustered index per table,
> because the index is created by sorting the entire table by the row that is
> to be the clustered index.  If you have a table with a row called "ZIPCODE",
> for example, when you create a clustered index on that row, the entire table
> is sorted by that row.  This is supposed to be faster than a regular index,
> since the index IS the database, not a separate file.  (I believe the
> previous is all correct.  I am new to databases, so I may be mistaken, but I
> believe this is correct.)
> Now, my question:  Does MySQL have an equivalent to MS SQL Server's
> "clustered indexes" for MyISAM tables?  If so, in which versions of MySQL is
> it available?
> 
> Thanks!
> 
> -Casey
> 
> 


-- 
MySQL General Mailing List
For list archives: http://lists.mysql.com/mysql
To unsubscribe:    http://lists.mysql.com/[EMAIL PROTECTED]

Reply via email to