Details

    • Type: Task
    • Status: Open
    • Priority: Minor
    • Resolution: Unresolved
    • Fix Version/s: 10.1
    • Component/s: None
    • Labels:

      Description

      as a solution for bulk-inserting huge amount of data into innodb, we consider an utility that creates exported innodb tablespaces.

      Normally one needs to create a table in InnoDB or XtraDB and then "export" it. But we could try to create an exported tablespace with a table not by actually exporting it but directly from the data, say, from XML or CSV.

        Gliffy Diagrams

          Attachments

            Issue Links

              Activity

              Hide
              kolbe Kolbe Kegel added a comment -

              Could this be implemented pretty easily using libmysqld with a modified InnoDB that skips redo logging? The tool would allocate some (configurable) buffer pool and existing code could take care of flushing pages and building InnoDB structures.

              Show
              kolbe Kolbe Kegel added a comment - Could this be implemented pretty easily using libmysqld with a modified InnoDB that skips redo logging? The tool would allocate some (configurable) buffer pool and existing code could take care of flushing pages and building InnoDB structures.
              Hide
              serg Sergei Golubchik added a comment -

              I don't know. One very important part of this feature — it's a difference between "repair by sort" and "repair with keycache" in MyISAM. Basically, one can insert values into b-tree one by one (repair with keycache) or one can generate sort the values and the whole b-tree at once, page after page. The second approach is much faster. But I don't know if InnoDB can do that.

              Show
              serg Sergei Golubchik added a comment - I don't know. One very important part of this feature — it's a difference between "repair by sort" and "repair with keycache" in MyISAM. Basically, one can insert values into b-tree one by one (repair with keycache) or one can generate sort the values and the whole b-tree at once, page after page. The second approach is much faster. But I don't know if InnoDB can do that.
              Hide
              kolbe Kolbe Kegel added a comment -

              Well, for secondary keys this can be implemented "logically" by adding secondary keys only after all data is inserted into the table. This bulk-loading tool would have to have full DDL for the table in order to create it in the first place, so it should be possible to pretty easily parse that and add secondary keys only after the import.

              I'm not sure about the clustered index... does InnoDB have any optimization for LOAD DATA to defer index creation or handle it in batches?

              Show
              kolbe Kolbe Kegel added a comment - Well, for secondary keys this can be implemented "logically" by adding secondary keys only after all data is inserted into the table. This bulk-loading tool would have to have full DDL for the table in order to create it in the first place, so it should be possible to pretty easily parse that and add secondary keys only after the import. I'm not sure about the clustered index... does InnoDB have any optimization for LOAD DATA to defer index creation or handle it in batches?

                People

                • Assignee:
                  Unassigned
                  Reporter:
                  serg Sergei Golubchik
                • Votes:
                  4 Vote for this issue
                  Watchers:
                  4 Start watching this issue

                  Dates

                  • Created:
                    Updated:

                    Time Tracking

                    Estimated:
                    Original Estimate - 8 weeks
                    8w
                    Remaining:
                    Remaining Estimate - 8 weeks
                    8w
                    Logged:
                    Time Spent - Not Specified
                    Not Specified