Unless I'm very much mistaken, InnoDB tables always have a clustered index as their primary key.
On Wed, Mar 3, 2010 at 2:58 PM, Zardosht Kasheff <zardo...@gmail.com> wrote: > Hello Jonas, > > Thank you for filing this feature request. Are there plans to add > support for clustered indexes in MySQL soon? This is something I have > been researching on and off for a while now. Here are my thoughts. > > It seems that there are two parts to this feature request: > 1) a new flag that allows the storage engine to report that an index > is clustered > 2) changes to the optimizer to properly support clustered keys. > > I like #1. The way that I dealt with it was not as good. I added > handler::supports_clustered_keys(), and used that function and > HA_CLUSTERING from my patch to determine if an index is clustered. > Your method is better. > > As for #2, I do not think it is enough. Here are two other locations > of code I know that will need to be modified: > 1) find_shortest_key in sql/sql_select.cc. (This will be an addition > to MySQL bug #39653) > 2) get_best_ror_intersect in sql/opt_range.cc. This is for > index_merge. A patch of what I have done is in the attached file > 9-index_merge_clustering.txt. This patch was the result of a long > thread on the internals alias (which you may want to CC for this > discussion). The link to the thread is > http://lists.mysql.com/internals/36977. > > There may be more places that need to be modified. I think the > approach to finding out if other places need to be modified is to > pattern match off of how the optimizer deals with clustered v. > non-clustered primary keys. It does so by having a function > handler::primary_key_is_clustered. I think one needs to search the > optimizer for all instances of this function, see why it is being > called, and see if it applies to clustered v. non-clustered secondary > keys as well. > > -Zardosht > > On Wed, Mar 3, 2010 at 5:57 AM, Jonas Oreland <jo...@mysql.com> wrote: > > Hi, > > > > I just filed http://bugs.mysql.com/bug.php?id=51687 > > which is very related to your bug#45458. > > > > If you would care to look at it and provide feedback, > > I would appreciate it. > > > > /Jonas > > > > > -- > MySQL General Mailing List > For list archives: http://lists.mysql.com/mysql > To unsubscribe: http://lists.mysql.com/mysql?unsub=vegiv...@tuxera.be > -- Bier met grenadyn Is als mosterd by den wyn Sy die't drinkt, is eene kwezel Hy die't drinkt, is ras een ezel