WaveMaker Docs

WaveMaker Docs

  • Get started
  • Widgets
  • How-to
  • Enterprise
  • Releases
  • Blog
  • Sign-in

›All Blog Posts

All Blog Posts

  • Mitigating Spring Zero-day Vulnerability CVE-2022-22965
  • Archiving WaveMaker 9 Projects
  • URL Change in WaveMaker Android WebView
  • Announcement about Angular 11 Update
  • Mitigating Log4J 2 Vulnerability CVE 2021 44228
  • Ending Support of WaveMaker 9 Projects
  • Git Branching Strategy
  • Important Announcement about Angular 10 Update
  • Accessibility Support in WaveMaker
  • Generating .aab files using wm-cordova-cli or AppChef
  • WaveMaker Studio enables faster database imports
  • Integrate SAP HANA Database with WaveMaker
  • Redshift Database Integration
  • Important Announcement about Changes to Documentation Domain
  • WaveMaker Releases 10.7 Version
  • Theme Builder with some coding (Build + Edit)
  • Understanding Scaling of WaveMaker Applications
  • Automatically Import your Website Branding Styles into a Theme
  • Certificate Pinning Case Study
  • Cordova 10.0.0 Upgrade
  • WaveMaker Releases 10.6 Version
  • Retain UI State in WaveMaker Apps
  • Theme builder is ready with a new update
  • PostgREST OpenAPI support in WaveMaker
  • Fully automated and scalable test execution using k8s
  • New file picker for mobile apps - Improvements in UI to select files in mobile
  • WaveMaker releases 10.5 version
  • Deliver faster applications with WaveMaker!
  • GraphQL in a Micro Services Architecture
  • Build Themes for WaveMaker Apps Without Any Coding
  • COVID-19 Visualization using WaveMaker - Part 2
  • COVID-19 Visualization using WaveMaker - Part 1
  • WaveMaker Integrates with DigitalOcean Kubernetes for App Deployments
  • Deployment Experience made better!
  • OpenAPI support in WaveMaker
  • WaveMaker platform is updated to use WKWebView.
  • Deliver WaveMaker Apps as Micro Frontend Modules
  • All-new WaveMaker docs with a powerful Search
  • Welcome to the WaveMaker Developers Blog

WaveMaker Studio enables faster database imports

June 24, 2021

Sanjana Raheja

WaveMaker platform offers the feature for applications to integrate with external databases like MySQL, SQLServer, Oracle, IBM DB2, PostgreSQL, Amazon Redshift, SAP HANA.

These database import flows have now been optimised to enable faster database imports in the application. Let's have a look ahead on how this was done and how would this affect the app developers.

How did we enable faster database imports in Studio?

When a database is imported into an application, the schema is read to discover relationships between the tables and individual table schema as well. Armed with this information, WaveMaker generates REST API and creates hibernate entities for each of tables in the database.

Like mentioned, during this import operation, to read the schema information and relationships metadata for the tables, there are a set of metadata queries for each respective database type, that are run in background on the system tables in the database. These metadata queries have now been fine tuned across all database types, keeping in accordance with the query standards listed for high performing queries.

How were the queries optimised?

Below is a short insight about the approaches taken to fine tune the queries for better loading times:

  • Nested select queries were avoided
  • Avoided iterating through the same resultset due to join operation
  • Used left outer joins instead of general joins or where clauses
  • Select field instead of select * from system tables
  • Used WHERE instead of HAVING to define filters

How does it impact the Studio developer?

As a result of this enhancement, the WaveMaker developer will have a better experience when working with databases while building the application. The import/re-import operations of database in the application will be quicker than the earlier times.

From the tests we did, the some of the queries used in database import operation are 600x faster. As a result, the time taken for the entire process of code generation for database entities during database import operation and the respective API generation powered by WaveMaker, is almost cut by half approximately.

Note: The performance improvement ratio is proportional to the number of constraints and relations defined for the tables in the database.

Based on the statistics generated at our end during the QA phase, the metadata for a database with around 800+ tables and heavy constraints for the entities was read in less than 4 seconds due to the optimised metadata queries.

Do try out our database import feature and let us know your feedback.

Tweet
Recent Posts
WaveMaker
  • PRICING
  • PARTNERS
  • CUSTOMERS
  • ABOUT US
  • CONTACT US
Terms of Use | Copyright © 2013-2022 WaveMaker, Inc. All rights reserved.