All you need to know about Pivot Tables


In this post, I am going to talk about many-to-many relationships and Pivot Tables. You heard about it, perhaps used it but you still don’t fully understand the concept, then keep on ready this post.  Pivot tables are very helpful when designing  database structure but can be difficult to understand sometimes. Pivot tables are intermediate tables that facilitates relationships between two main tables and even within one table.

When exactly you need Pivot Table

First of all, let’s clear our understanding of scenarios where Pivot Table can help us.  As I said  it provides many-to-many relationship between two tables, let’s look at some examples when exactly one need many-to-many-relationship and Pivot Table.

Categories-Posts Example

If you have used WordPress, you know that you can assign multiple categories to a post. So here, a post can reside in multiple categories and a category can have multiple posts in it. Technically

Post -> Belongs To Many -> Categories

Categories -> Belongs To Many -> Posts

that’s a very basic scenario where you will need pivot table. Here’s what the table structure will look like. Continue reading

Case Study – How we managed to drastically improve API Performance

Recently we got the chance to look into the load speed issue for one of the project, we are required to improve API performance for a listing screen. The project was built in AngularJS and API being created in Laravel.

Two of the major listing pages of the application has become hell slow with time, 10 seconds to be exact. The application itself is quite big and is going under heavy development for last 2 years. As it’s a SAAS based so data is growing rapidly. In this article, we are going to present the steps we took to improve API performance and how we managed to reduce the Load time of the Laravel API for listing screens which were taking more than 8 sec to just a sec.

Database Indexing

This is one of the most common mistakes, especially with those teams which don’t have a special database administrator assigned in the project to manage and create the database, and the task of creating the migration is left for the developer.  While creating the migrations for the database, or schema in general, developers tend to ignore creating indexes and they generally get away with it for quite long, Until your application is live and data grows to a point where you start feeling the performance issues, those long spinning loaders drops a hint. Continue reading