2012-10-31 68 views
2

我使用H2數據庫來提高性能,因此我決定在運行時將數據從MySQL加載到H2數據庫。H2內存中的數據庫查詢很慢

這個場景是我創建了三本書,作者,book_author。 book_author是一個多對多的表格。

表書,作者及有BOOK_AUTHOR分別記錄1000,50000和50000

的選擇查詢

select book.name 
from book, author , book_author 
where book.id = book_author.book_id 
and book_author.author_id = author.id 
and author.name = 'Charles Dickens' 

需要7分鐘來執行。

我用spring-jdbc創建了H2內存數據庫。

EmbeddedDatabase database_01 = new EmbeddedDatabaseBuilder(). 
    setType(EmbeddedDatabaseType.H2). 
    addScript("initial_script.sql"). 
    setName("database_01").build(); 

JdbcTemplate jdbcTemplate_01 = new JdbcTemplate(database_01); 

有人可以建議爲什麼需要這麼多時間和一種方法來優化它嗎?

回答