Усечение с Hibernate и H2 медленнее, чем ожидалось - PullRequest
0 голосов
/ 05 июня 2019

Использование базы данных Hibernate 4.3.11 и H2 1.3.172

Я изменил код, чтобы использовать усечение для очистки таблицы базы данных, а не удаления, поскольку удаление выполнялось слишком медленно, так как количество записей в таблице увеличивалось. Однако TRUNCATE также кажется довольно медленным (примерно 30 секунд). Я предполагал, что это будет работать довольно быстро и не имеет значения, сколько записей в таблице?

    try
    {
        session = HibernateUtil.beginTransaction();
        session.createSQLQuery("truncate table SongDiff").executeUpdate();
        session.getTransaction().commit();
        return true;
    }
    catch(Exception ex)
    {
        MainWindow.logger.log(Level.SEVERE, ex.getMessage(), ex);
    }
    finally
    {
        HibernateUtil.closeSession(session);
    }
...