Hi,
I am loading 5GB xml in DB it takes around 10-12 minutes.
I need to load about 20-30 document of same size (5Gb) , So i created thread to loading  these document in DB  but its taking too much time ,I wait till 4 hrs after that I stop process to load document .
Pls tell me the best solution to loading large document.
my program is following :

package org.basex.examples.query;

import java.io.*;

import javax.xml.namespace.*;

import org.basex.build.*;
import org.basex.core.*;
import org.basex.core.cmd.*;
import org.xml.sax.Parser;

/**
 * This class demonstrates collection relevant queries.
 * It shows how to find and query specific documents.
 *
 * @author BaseX Team 2005-12, BSD License
 */
public final class QueryCollection implements Runnable{
  Context context = new Context();
  String dbName = null;
  public QueryCollection(String string) {
    dbName = string;

  }

  /**
   * Runs the example code.
   * @param args (ignored) command-line arguments
   * @throws BaseXException if a database command fails
   * @throws XQException 
   */
  public static void main(final String[] args) throws BaseXException {
    /** Database context. */
    Context context = new Context();

    System.out.println("=== QueryCollection ===");

    // ------------------------------------------------------------------------
    // Create a collection from all XML documents in the specified directory
    System.out.println("\n* Create a collection.");
    System.out.println(System.currentTimeMillis()/1000);
    Thread thread = new Thread(new QueryCollection("Collection1"));
    Thread thread1 = new Thread(new QueryCollection("Collection2"));
    Thread thread2 = new Thread(new QueryCollection("Collection3"));
    Thread thread3 = new Thread(new QueryCollection("Collection4"));
    Thread thread4 = new Thread(new QueryCollection("Collection5"));
    thread.start();
    thread1.start();
    thread2.start();
    thread3.start();
    thread4.start();

    OutputStream outputStream =null;
    try {
     
      outputStream = new FileOutputStream(new File("result.xml"));
    } catch(FileNotFoundException e) {
      // TODO Auto-generated catch block
      e.printStackTrace();
    }
   

    // ------------------------------------------------------------------------
    // Evaluate a query on a single document
    System.out.println(System.currentTimeMillis()/1000);




//    new DropDB("Collection").execute(context);

    // ------------------------------------------------------------------------
    // Close the database context
    context.close();

  }

  public void createDB(String dbName){
    // TODO Auto-generated constructor stub
    

        new CreateDB(dbName, "E:/downloads/temp/test.xml").run(context);
   
      
   
  }
  @Override
  public void run() {
    // TODO Auto-generated method stub
    System.out.println(dbName+"        start time : "+System.currentTimeMillis()/1000);
    createDB(dbName);
    System.out.println(dbName+"        end time : "+System.currentTimeMillis()/1000);
    
  }
}

--
Thanks & Regards ,
Pushpendra Singh