{"id":183,"date":"2025-06-21T05:55:00","date_gmt":"2025-06-21T05:55:00","guid":{"rendered":"https:\/\/harshad-sonawane.com\/blog\/?p=183"},"modified":"2025-06-01T11:17:51","modified_gmt":"2025-06-01T11:17:51","slug":"optimize-database-performance-spring-boot","status":"publish","type":"post","link":"https:\/\/harshad-sonawane.com\/blog\/optimize-database-performance-spring-boot\/","title":{"rendered":"How to Optimize Database Performance in Spring Boot Applications"},"content":{"rendered":"\n<h2 class=\"wp-block-heading\">Introduction<\/h2>\n\n\n\n<p>Database performance is critical to the overall speed and scalability of <a href=\"https:\/\/harshad-sonawane.com\/blog\/reduce-cloud-costs-java-applications\/\">Spring Boot<\/a> applications. As applications grow in complexity and user base, ensuring efficient data access becomes essential to delivering low-latency responses and preventing system bottlenecks.<\/p>\n\n\n\n<p>In this blog, we\u2019ll explore practical techniques to optimize database performance in Spring Boot applications by leveraging built-in features, best practices, and tuning options.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">1. Choose the Right Database and Driver<\/h2>\n\n\n\n<p>The first step to performance is using the right tool for the job:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Use <strong>PostgreSQL<\/strong> or <strong>MySQL<\/strong> for general-purpose workloads.<\/li>\n\n\n\n<li>Choose <strong>MongoDB<\/strong> for flexible schema or NoSQL requirements.<\/li>\n\n\n\n<li>Always use the latest stable version of JDBC drivers for optimal compatibility and performance.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">2. Connection Pooling with HikariCP<\/h2>\n\n\n\n<p>Spring Boot uses <strong>HikariCP<\/strong> as the default connection pool, known for its <a href=\"https:\/\/harshad-sonawane.com\/blog\/build-high-performance-java-apis-using-grpc\/\">high performance<\/a> and reliability.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Tips:<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Tune connection pool properties like <code>maximumPoolSize<\/code>, <code>idleTimeout<\/code>, and <code>connectionTimeout<\/code> in <code>application.properties<\/code>:<\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"Java\" class=\"language-Java\">spring.datasource.hikari.maximum-pool-size=20\nspring.datasource.hikari.idle-timeout=30000\nspring.datasource.hikari.connection-timeout=30000<\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Monitor pool usage using metrics (<code>\/actuator\/metrics\/hikaricp.connections.active<\/code>).<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">3. Use Lazy Loading Wisely<\/h2>\n\n\n\n<p>Eager fetching can load unnecessary data, leading to performance degradation.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Best Practice:<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Use <code>@OneToMany(fetch = FetchType.LAZY)<\/code> unless eager loading is explicitly required.<\/li>\n\n\n\n<li>Use DTO projections instead of fetching entire entities when full data isn\u2019t needed.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">4. Leverage Spring Data JPA Projections<\/h2>\n\n\n\n<p>Reduce data transfer and load by fetching only necessary fields.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Example:<\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"Java\" class=\"language-Java\">public interface UserSummary {\n    String getUsername();\n    String getEmail();\n}\n\nList&lt;UserSummary&gt; findByActiveTrue();<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">5. Optimize Queries with Indexes<\/h2>\n\n\n\n<p>Ensure critical queries use indexed columns:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Use database <code>EXPLAIN<\/code> or <code>ANALYZE<\/code> statements to verify query plans.<\/li>\n\n\n\n<li>Index foreign keys, frequently filtered columns, and join keys.<\/li>\n<\/ul>\n\n\n\n<p>Avoid over-indexing, as it impacts write performance.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">6. Enable Query Caching<\/h2>\n\n\n\n<p>Hibernate supports 1st and 2nd-level caching.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Configuration:<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Enable second-level cache using providers like <strong>Ehcache<\/strong> or <strong>Caffeine<\/strong>.<\/li>\n\n\n\n<li>Annotate entities:<\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"Java\" class=\"language-Java\">@Cacheable\n@Cache(usage = CacheConcurrencyStrategy.READ_WRITE)<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">7. Use Pageable and Batch Fetching<\/h2>\n\n\n\n<p>When dealing with large datasets:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Use <code>Pageable<\/code> to fetch data in chunks.<\/li>\n\n\n\n<li>Use <code>@BatchSize<\/code> annotation to reduce the number of SQL calls:<\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"Java\" class=\"language-Java\">@BatchSize(size = 10)<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">8. Monitor SQL Logs and Slow Queries<\/h2>\n\n\n\n<p>Enable SQL logging in development:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"Java\" class=\"language-Java\">spring.jpa.show-sql=true\nspring.jpa.properties.hibernate.format_sql=true<\/code><\/pre>\n\n\n\n<p>Use tools like <strong>p6spy<\/strong> or <strong>Spring Boot Actuator<\/strong> to identify slow queries in production.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">9. Profile with APM Tools<\/h2>\n\n\n\n<p>Use Application Performance <a href=\"https:\/\/harshad-sonawane.com\/blog\/monitoring-java-applications-prometheus-grafana-kubernetes\/\">Monitoring<\/a> (APM) tools like:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>New Relic<\/li>\n\n\n\n<li>Dynatrace<\/li>\n\n\n\n<li>Elastic APM<\/li>\n<\/ul>\n\n\n\n<p>These provide insights into query times, slow transactions, and database bottlenecks.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">10. Keep Your Schema and ORM Aligned<\/h2>\n\n\n\n<p>Mismatches between your database schema and JPA entities can cause inefficient joins and unexpected results.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Use tools like Flyway or Liquibase to manage database migrations.<\/li>\n\n\n\n<li>Align entity mappings with current schema constraints.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">Conclusion<\/h2>\n\n\n\n<p>Database performance optimization in Spring Boot requires a holistic approach\u2014from choosing the right data model and connection pool tuning to leveraging caching and monitoring. Following these strategies ensures that your application remains fast, responsive, and scalable as it grows.<\/p>\n\n\n\n<p>Focus on incremental improvements and continuous monitoring for sustained gains in performance.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<p class=\"o-typing-delay-100ms ticss-27f7e3e9\"><o-anim-typing>&lt;> <strong>&#8220;Happy developing, one line at a time!&#8221;<\/strong> &lt;\/><\/o-anim-typing><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Introduction Database performance is critical to the overall speed and scalability of Spring Boot applications. As applications grow in complexity and user base, ensuring efficient data access becomes essential to delivering low-latency responses and preventing system bottlenecks. In this blog, we\u2019ll explore practical techniques to optimize database performance in Spring [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":184,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_themeisle_gutenberg_block_has_review":false,"footnotes":"","jetpack_publicize_message":"Struggling with slow queries and lagging APIs? Check out our new blog on optimizing database performance in Spring Boot applications \u2014 packed with practical tips and code examples. #SpringBoot #JavaPerformance #BackendOptimization #DatabaseTuning","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":true,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"enabled":false},"version":2}},"categories":[113],"tags":[164,165,161,166,162,3,163],"class_list":["post-183","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-java-spring-boot-aws-microservices","tag-connection-pooling","tag-database-performance","tag-hibernate-optimization","tag-java-backend","tag-query-tuning","tag-spring-boot","tag-spring-data-jpa"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.4 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Optimize Database Performance in Spring Boot Applications<\/title>\n<meta name=\"description\" content=\"Learn how to optimize database performance in Spring Boot applications with practical tips on query tuning, connection pooling, lazy loading, projections, and more.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/harshad-sonawane.com\/blog\/optimize-database-performance-spring-boot\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Optimize Database Performance in Spring Boot Applications\" \/>\n<meta property=\"og:description\" content=\"Learn how to optimize database performance in Spring Boot applications with practical tips on query tuning, connection pooling, lazy loading, projections, and more.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/harshad-sonawane.com\/blog\/optimize-database-performance-spring-boot\/\" \/>\n<meta property=\"og:site_name\" content=\"&lt;&gt;HARSHAD&#039;s Dev Diary&lt;\/&gt;\" \/>\n<meta property=\"article:published_time\" content=\"2025-06-21T05:55:00+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/harshad-sonawane.com\/blog\/wp-content\/uploads\/2025\/06\/ChatGPT-Image-Jun-1-2025-04_46_18-PM.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1024\" \/>\n\t<meta property=\"og:image:height\" content=\"1024\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"HS\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"HS\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"3 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":[\"Article\",\"BlogPosting\"],\"@id\":\"https:\\\/\\\/harshad-sonawane.com\\\/blog\\\/optimize-database-performance-spring-boot\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/harshad-sonawane.com\\\/blog\\\/optimize-database-performance-spring-boot\\\/\"},\"author\":{\"name\":\"HS\",\"@id\":\"https:\\\/\\\/harshad-sonawane.com\\\/blog\\\/#\\\/schema\\\/person\\\/d82781218ba30c34fa81b49e8393681e\"},\"headline\":\"How to Optimize Database Performance in Spring Boot Applications\",\"datePublished\":\"2025-06-21T05:55:00+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/harshad-sonawane.com\\\/blog\\\/optimize-database-performance-spring-boot\\\/\"},\"wordCount\":429,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/harshad-sonawane.com\\\/blog\\\/#\\\/schema\\\/person\\\/d82781218ba30c34fa81b49e8393681e\"},\"image\":{\"@id\":\"https:\\\/\\\/harshad-sonawane.com\\\/blog\\\/optimize-database-performance-spring-boot\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/harshad-sonawane.com\\\/blog\\\/wp-content\\\/uploads\\\/2025\\\/06\\\/ChatGPT-Image-Jun-1-2025-04_46_18-PM.png\",\"keywords\":[\"Connection Pooling\",\"Database Performance\",\"Hibernate Optimization\",\"Java Backend\",\"Query Tuning\",\"Spring Boot\",\"Spring Data JPA\"],\"articleSection\":[\"Java, Spring Boot, AWS, Microservices\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/harshad-sonawane.com\\\/blog\\\/optimize-database-performance-spring-boot\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/harshad-sonawane.com\\\/blog\\\/optimize-database-performance-spring-boot\\\/\",\"url\":\"https:\\\/\\\/harshad-sonawane.com\\\/blog\\\/optimize-database-performance-spring-boot\\\/\",\"name\":\"Optimize Database Performance in Spring Boot Applications\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/harshad-sonawane.com\\\/blog\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/harshad-sonawane.com\\\/blog\\\/optimize-database-performance-spring-boot\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/harshad-sonawane.com\\\/blog\\\/optimize-database-performance-spring-boot\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/harshad-sonawane.com\\\/blog\\\/wp-content\\\/uploads\\\/2025\\\/06\\\/ChatGPT-Image-Jun-1-2025-04_46_18-PM.png\",\"datePublished\":\"2025-06-21T05:55:00+00:00\",\"description\":\"Learn how to optimize database performance in Spring Boot applications with practical tips on query tuning, connection pooling, lazy loading, projections, and more.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/harshad-sonawane.com\\\/blog\\\/optimize-database-performance-spring-boot\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/harshad-sonawane.com\\\/blog\\\/optimize-database-performance-spring-boot\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/harshad-sonawane.com\\\/blog\\\/optimize-database-performance-spring-boot\\\/#primaryimage\",\"url\":\"https:\\\/\\\/harshad-sonawane.com\\\/blog\\\/wp-content\\\/uploads\\\/2025\\\/06\\\/ChatGPT-Image-Jun-1-2025-04_46_18-PM.png\",\"contentUrl\":\"https:\\\/\\\/harshad-sonawane.com\\\/blog\\\/wp-content\\\/uploads\\\/2025\\\/06\\\/ChatGPT-Image-Jun-1-2025-04_46_18-PM.png\",\"width\":1024,\"height\":1024,\"caption\":\"How to Optimize Database Performance in Spring Boot Applications\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/harshad-sonawane.com\\\/blog\\\/optimize-database-performance-spring-boot\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/harshad-sonawane.com\\\/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"How to Optimize Database Performance in Spring Boot Applications\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/harshad-sonawane.com\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/harshad-sonawane.com\\\/blog\\\/\",\"name\":\"Harshad's Dev Diary\",\"description\":\"HARSHAD&#039;s Dev Diary\",\"publisher\":{\"@id\":\"https:\\\/\\\/harshad-sonawane.com\\\/blog\\\/#\\\/schema\\\/person\\\/d82781218ba30c34fa81b49e8393681e\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/harshad-sonawane.com\\\/blog\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\\\/\\\/harshad-sonawane.com\\\/blog\\\/#\\\/schema\\\/person\\\/d82781218ba30c34fa81b49e8393681e\",\"name\":\"HS\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/harshad-sonawane.com\\\/blog\\\/wp-content\\\/uploads\\\/2025\\\/02\\\/about.jpg\",\"url\":\"https:\\\/\\\/harshad-sonawane.com\\\/blog\\\/wp-content\\\/uploads\\\/2025\\\/02\\\/about.jpg\",\"contentUrl\":\"https:\\\/\\\/harshad-sonawane.com\\\/blog\\\/wp-content\\\/uploads\\\/2025\\\/02\\\/about.jpg\",\"width\":400,\"height\":400,\"caption\":\"HS\"},\"logo\":{\"@id\":\"https:\\\/\\\/harshad-sonawane.com\\\/blog\\\/wp-content\\\/uploads\\\/2025\\\/02\\\/about.jpg\"},\"sameAs\":[\"https:\\\/\\\/harshad-sonawane.com\\\/blog\"],\"url\":\"https:\\\/\\\/harshad-sonawane.com\\\/blog\\\/author\\\/admin\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Optimize Database Performance in Spring Boot Applications","description":"Learn how to optimize database performance in Spring Boot applications with practical tips on query tuning, connection pooling, lazy loading, projections, and more.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/harshad-sonawane.com\/blog\/optimize-database-performance-spring-boot\/","og_locale":"en_US","og_type":"article","og_title":"Optimize Database Performance in Spring Boot Applications","og_description":"Learn how to optimize database performance in Spring Boot applications with practical tips on query tuning, connection pooling, lazy loading, projections, and more.","og_url":"https:\/\/harshad-sonawane.com\/blog\/optimize-database-performance-spring-boot\/","og_site_name":"&lt;&gt;HARSHAD&#039;s Dev Diary&lt;\/&gt;","article_published_time":"2025-06-21T05:55:00+00:00","og_image":[{"width":1024,"height":1024,"url":"https:\/\/harshad-sonawane.com\/blog\/wp-content\/uploads\/2025\/06\/ChatGPT-Image-Jun-1-2025-04_46_18-PM.png","type":"image\/png"}],"author":"HS","twitter_card":"summary_large_image","twitter_misc":{"Written by":"HS","Est. reading time":"3 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":["Article","BlogPosting"],"@id":"https:\/\/harshad-sonawane.com\/blog\/optimize-database-performance-spring-boot\/#article","isPartOf":{"@id":"https:\/\/harshad-sonawane.com\/blog\/optimize-database-performance-spring-boot\/"},"author":{"name":"HS","@id":"https:\/\/harshad-sonawane.com\/blog\/#\/schema\/person\/d82781218ba30c34fa81b49e8393681e"},"headline":"How to Optimize Database Performance in Spring Boot Applications","datePublished":"2025-06-21T05:55:00+00:00","mainEntityOfPage":{"@id":"https:\/\/harshad-sonawane.com\/blog\/optimize-database-performance-spring-boot\/"},"wordCount":429,"commentCount":0,"publisher":{"@id":"https:\/\/harshad-sonawane.com\/blog\/#\/schema\/person\/d82781218ba30c34fa81b49e8393681e"},"image":{"@id":"https:\/\/harshad-sonawane.com\/blog\/optimize-database-performance-spring-boot\/#primaryimage"},"thumbnailUrl":"https:\/\/harshad-sonawane.com\/blog\/wp-content\/uploads\/2025\/06\/ChatGPT-Image-Jun-1-2025-04_46_18-PM.png","keywords":["Connection Pooling","Database Performance","Hibernate Optimization","Java Backend","Query Tuning","Spring Boot","Spring Data JPA"],"articleSection":["Java, Spring Boot, AWS, Microservices"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/harshad-sonawane.com\/blog\/optimize-database-performance-spring-boot\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/harshad-sonawane.com\/blog\/optimize-database-performance-spring-boot\/","url":"https:\/\/harshad-sonawane.com\/blog\/optimize-database-performance-spring-boot\/","name":"Optimize Database Performance in Spring Boot Applications","isPartOf":{"@id":"https:\/\/harshad-sonawane.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/harshad-sonawane.com\/blog\/optimize-database-performance-spring-boot\/#primaryimage"},"image":{"@id":"https:\/\/harshad-sonawane.com\/blog\/optimize-database-performance-spring-boot\/#primaryimage"},"thumbnailUrl":"https:\/\/harshad-sonawane.com\/blog\/wp-content\/uploads\/2025\/06\/ChatGPT-Image-Jun-1-2025-04_46_18-PM.png","datePublished":"2025-06-21T05:55:00+00:00","description":"Learn how to optimize database performance in Spring Boot applications with practical tips on query tuning, connection pooling, lazy loading, projections, and more.","breadcrumb":{"@id":"https:\/\/harshad-sonawane.com\/blog\/optimize-database-performance-spring-boot\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/harshad-sonawane.com\/blog\/optimize-database-performance-spring-boot\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/harshad-sonawane.com\/blog\/optimize-database-performance-spring-boot\/#primaryimage","url":"https:\/\/harshad-sonawane.com\/blog\/wp-content\/uploads\/2025\/06\/ChatGPT-Image-Jun-1-2025-04_46_18-PM.png","contentUrl":"https:\/\/harshad-sonawane.com\/blog\/wp-content\/uploads\/2025\/06\/ChatGPT-Image-Jun-1-2025-04_46_18-PM.png","width":1024,"height":1024,"caption":"How to Optimize Database Performance in Spring Boot Applications"},{"@type":"BreadcrumbList","@id":"https:\/\/harshad-sonawane.com\/blog\/optimize-database-performance-spring-boot\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/harshad-sonawane.com\/blog\/"},{"@type":"ListItem","position":2,"name":"How to Optimize Database Performance in Spring Boot Applications"}]},{"@type":"WebSite","@id":"https:\/\/harshad-sonawane.com\/blog\/#website","url":"https:\/\/harshad-sonawane.com\/blog\/","name":"Harshad's Dev Diary","description":"HARSHAD&#039;s Dev Diary","publisher":{"@id":"https:\/\/harshad-sonawane.com\/blog\/#\/schema\/person\/d82781218ba30c34fa81b49e8393681e"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/harshad-sonawane.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":["Person","Organization"],"@id":"https:\/\/harshad-sonawane.com\/blog\/#\/schema\/person\/d82781218ba30c34fa81b49e8393681e","name":"HS","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/harshad-sonawane.com\/blog\/wp-content\/uploads\/2025\/02\/about.jpg","url":"https:\/\/harshad-sonawane.com\/blog\/wp-content\/uploads\/2025\/02\/about.jpg","contentUrl":"https:\/\/harshad-sonawane.com\/blog\/wp-content\/uploads\/2025\/02\/about.jpg","width":400,"height":400,"caption":"HS"},"logo":{"@id":"https:\/\/harshad-sonawane.com\/blog\/wp-content\/uploads\/2025\/02\/about.jpg"},"sameAs":["https:\/\/harshad-sonawane.com\/blog"],"url":"https:\/\/harshad-sonawane.com\/blog\/author\/admin\/"}]}},"jetpack_publicize_connections":[],"_links":{"self":[{"href":"https:\/\/harshad-sonawane.com\/blog\/wp-json\/wp\/v2\/posts\/183","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/harshad-sonawane.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/harshad-sonawane.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/harshad-sonawane.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/harshad-sonawane.com\/blog\/wp-json\/wp\/v2\/comments?post=183"}],"version-history":[{"count":1,"href":"https:\/\/harshad-sonawane.com\/blog\/wp-json\/wp\/v2\/posts\/183\/revisions"}],"predecessor-version":[{"id":185,"href":"https:\/\/harshad-sonawane.com\/blog\/wp-json\/wp\/v2\/posts\/183\/revisions\/185"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/harshad-sonawane.com\/blog\/wp-json\/wp\/v2\/media\/184"}],"wp:attachment":[{"href":"https:\/\/harshad-sonawane.com\/blog\/wp-json\/wp\/v2\/media?parent=183"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/harshad-sonawane.com\/blog\/wp-json\/wp\/v2\/categories?post=183"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/harshad-sonawane.com\/blog\/wp-json\/wp\/v2\/tags?post=183"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}