Well, ok, but it is not really creating an index drawing data from multiple tables. The table definition part "interleaves" data with the same value for the same column into a "cluster" of pages, and the creation of the index on the cluster is an index of the "common column data".
Creating an index from "multiple databases" would be something like: create table a(a ...); create table b(b ...); create index blah on multisources (a.a, b.b); Since there is no syncronized motion between the two tables a and b, the index is impossible to maintain, except perhaps in a navigational database and then only through a linked to owner set, and only for changes to the right-hand table in the set. You can only create an index drawing data from a single database object. In oracle's case, that "single object" is a cluster of tables where "some one column" contains linkage data between the two tables. That is, it is a hybrid of a relation and a network extended set index. That is one table in the cluster contains a "linked list" of the other table rows having the same value for the cluster column (a LINK TO PRIOR LINK TO OWNER set) and the index is created on the column of the first table (the parent or left-hand table) in the cluster (set). That the various rows of the various tables are stored in relative proximity to each other (in order to reduce I/O) is a nice implementation detail but irrelevant (and it depends on the insertion order of the table rows or requires a re-org to get the rows interleaved properly). --- The fact that there's a Highway to Hell but only a Stairway to Heaven says a lot about anticipated traffic volume. >-----Original Message----- >From: sqlite-users [mailto:sqlite-users- >[email protected]] On Behalf Of Jean-Luc Hainaut >Sent: Thursday, 2 August, 2018 15:04 >To: SQLite mailing list >Subject: Re: [sqlite] Common index for multiple databases > >On 02/08/2018 20:50, Keith Medcalf wrote: >> In no DBMS known can you index data sourced from multiple tables in >the same index -- this applies to "Relational" databases and all >other database models (such as pure hierarchical, network, network >extended, etc.) In all DBMS systems the contents of the index must >be sourced from a single object. > >To the best of my (limited) knowledge, Oracle's CLUSTER is the only >technique allowing an index to reference rows from several tables. >The >rows (from source tables) that share the same value of a column are >collected into a page, if needed complemented by an overflow chain of >pages. Whether the OP is ready to migrate to Oracle is another story! > >J-L Hainaut >_______________________________________________ >sqlite-users mailing list >[email protected] >http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users _______________________________________________ sqlite-users mailing list [email protected] http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users

