how to measure hibernate performance?

后端 未结 4 512
醉梦人生
醉梦人生 2021-01-05 00:38

how to measure performance in hibernate? I want to know that how much time hibernate takes to execute a query?

4条回答
  •  北海茫月
    2021-01-05 01:21

    When I do development with Spring Hibernate I usually use following properties
    in my application.properties file to see query execution time and how query is executed:

    spring.jpa.properties.hibernate.show_sql=true
    spring.jpa.properties.hibernate.use_sql_comments=true
    spring.jpa.properties.hibernate.format_sql=true
    spring.jpa.properties.hibernate.generate_statistics=true
    

    Example log output looks like below:

    Hibernate: 
    select
        order0_.OrderID as OrderID1_4_0_,
        order0_.customerID as customer2_4_0_,
        order0_.employeeID as employee3_4_0_,
        order0_.freight as freight4_4_0_,
        order0_.orderDate as orderDat5_4_0_,
        order0_.requiredDate as required6_4_0_,
        order0_.shipAddress as shipAddr7_4_0_,
        order0_.shipCity as shipCity8_4_0_,
        order0_.shipCountry as shipCoun9_4_0_,
        order0_.shipName as shipNam10_4_0_,
        order0_.shipPostalCode as shipPos11_4_0_,
        order0_.shipRegion as shipReg12_4_0_,
        order0_.shipVia as shipVia13_4_0_,
        order0_.shippedDate as shipped14_4_0_,
        customer1_.customerID as customer1_2_1_,
        customer1_.address as address2_2_1_,
        customer1_.city as city3_2_1_,
        customer1_.companyName as companyN4_2_1_,
        customer1_.contactName as contactN5_2_1_,
        customer1_.contactTitle as contactT6_2_1_,
        customer1_.country as country7_2_1_,
        customer1_.fax as fax8_2_1_,
        customer1_.phone as phone9_2_1_,
        customer1_.postalCode as postalC10_2_1_,
        customer1_.region as region11_2_1_ 
    from
        orders order0_ 
    left outer join
        customers customer1_ 
            on order0_.customerID=customer1_.customerID 
    where
        order0_.OrderID=?
    Hibernate: 
    select
        orderdetai0_.OrderID as OrderID6_3_0_,
        orderdetai0_.ID as ID1_3_0_,
        orderdetai0_.ID as ID1_3_1_,
        orderdetai0_.discount as discount2_3_1_,
        orderdetai0_.OrderID as OrderID6_3_1_,
        orderdetai0_.productID as productI3_3_1_,
        orderdetai0_.quantity as quantity4_3_1_,
        orderdetai0_.unitPrice as unitPric5_3_1_ 
    from
        order_details orderdetai0_ 
    where
        orderdetai0_.OrderID=?
    
    Session Metrics {
    281879 nanoseconds spent acquiring 1 JDBC connections;
    0 nanoseconds spent releasing 0 JDBC connections;
    276015 nanoseconds spent preparing 2 JDBC statements;
    1702274 nanoseconds spent executing 2 JDBC statements;
    0 nanoseconds spent executing 0 JDBC batches;
    0 nanoseconds spent performing 0 L2C puts;
    0 nanoseconds spent performing 0 L2C hits;
    0 nanoseconds spent performing 0 L2C misses;
    0 nanoseconds spent executing 0 flushes (flushing a total of 0 entities and 0 collections);
    0 nanoseconds spent executing 0 partial-flushes (flushing a total of 0 entities and 0 collections)}
    

提交回复
热议问题