Обсуждение: Possible to use a table to tell what table to select from?
Hello I've been thinking on a potential problem I might get in a distant future, but once I started thinking on it I just as well had to check... Is it possible to have say ~ 6 tables, where the first one is a 'reference' to all the others (they all are with the same structure). The other 5 or so have information stored in importance/access/age, where one table will be only recent/important things, the other with a bit lower priority and so on until the last table that can be really huge and slow and used more like a storage ... Is it possible to write an SQL query to let the first table figure out what table one will do the actual select from? like the pseudo code: SELECT name,content FROM <some command> (SELECT tablename FROM table1 WHERE item_id="123456") Or is this a totally pointless thing, as the first table would need to be so large either way? (or only good for storing large blobs and such?) /Frank H
Frank Hagstrom wrote: > Hello > > I've been thinking on a potential problem I might get in a distant > future, but once I started thinking on it I just as well had to > check... > > Is it possible to have say ~ 6 tables, where the first one is a > 'reference' to all the others (they all are with the same structure). > The other 5 or so have information stored in importance/access/age, > where one table will be only recent/important things, the other with a > bit lower priority and so on until the last table that can be really > huge and slow and used more like a storage ... Is it possible to write > an SQL query to let the first table figure out what table one will do > the actual select from? If the tables are all holding the same sort of thing, e.g. logs2003, logs2004, logs2005 etc. then you might want to look at partitioning. This is being looked at for the next version, check the archives of the hackers list. -- Richard Huxton Archonet Ltd
On 7/14/05, Richard Huxton <dev@archonet.com> wrote: > Frank Hagstrom wrote: > > Hello > > > > I've been thinking on a potential problem I might get in a distant > > future, but once I started thinking on it I just as well had to > > check... > > > > Is it possible to have say ~ 6 tables, where the first one is a > > 'reference' to all the others (they all are with the same structure). > > The other 5 or so have information stored in importance/access/age, > > where one table will be only recent/important things, the other with a > > bit lower priority and so on until the last table that can be really > > huge and slow and used more like a storage ... Is it possible to write > > an SQL query to let the first table figure out what table one will do > > the actual select from? > > If the tables are all holding the same sort of thing, e.g. logs2003, > logs2004, logs2005 etc. then you might want to look at partitioning. > This is being looked at for the next version, check the archives of the > hackers list. > > -- > Richard Huxton > Archonet Ltd > Ah ok, thanks I'll look into the partitioning then :) (not really logs, but will work in the same way, as I'm planning to use it to hold revisions, but it will have the same format in the tables...) /Frank H