AW: <<Spam-Verdacht>>RE: Table Sizes
"Selke, Gisbert W." <[email protected]>
| Newsgroups | gmane.comp.db.mysql.perl |
|---|---|
| Message-ID | <[email protected]> |
Hi Bill -- > -----Ursprüngliche Nachricht----- > Von: Logan, David (SST - Adelaide) [mailto:[email protected]] > Gesendet: Freitag, 17. Februar 2006 00:11 > For the moment though, > http://dev.mysql.com/doc/refman/5.0/en/merge-storage-engine.ht > ml may be > the way to go. This is totally independent from the DBI/DBD > perl modules > so shouldn't affect any of your scripting. This is also available at > version 4.? I'll second David's comments: MERGE tables are minimum effort to set up, they give you the whole ease of use like one big table (if speed ist not at a premium for some individual task), and accessing the individual compenent tables give you maximum speed (but less convenience if you want to access data that happen to be distributed over the tables). It would be worthwhile spending some thought on how you partition the data. In our case we have upo to some 200 million records in the individual tables, and currently eight such tables go into one MERGE table. We can easily divide these by years (part of the primary key), so if we access just one year's data, we go to the individual table. As a matter of fact, for our standard application which uses Perl DBI to generate and execute queries, we find it faster for multiple-year queries to generatea UNION SELECT on multiple indivdual tables, than to access the MERGE table directly. Since the queries are programme-generated anyway, that's not much of a hassle, but if you manually build your queries, you'd spend more time on typing the UNION than waiting for the engine to access the MERGE table. Of course, all this assumes that you have optimized your indexes in the first place. But even then, partitioning does make sense, no matter what the pure theory of SQL may say. \Gisbert -- MySQL Perl Mailing List For list archives: http://lists.mysql.com/perl To unsubscribe: http://lists.mysql.com/[email protected]