In a Magento store, merchant data is stored in database tables. This includes everything from catalog data and prices to individual user information. When a customer selects an item on a Magento eCommerce site, the system runs a query asking for all of the attributes related to that catalog product. Gathering that information can be time consuming and result in the customer bouncing from your site.
This is where indexing comes in handy. Indexing is the transformation of data to make your eCommerce site run quicker and perform better.
What is indexing?
According to the Magento knowledge base, “indexing is how Magento transforms data such as products, categories, and so on, to improve the performance of your web store.”
Indexing, which is information-based, involves building a set of data inside optimized tables. In Magento Enterprise, the EAV (entity-attribute-value model) system is made up of multiple tables that connect large amounts of data. The EAV system takes the pieces of information it needs and places them into specialized flat tables (one for each store view in Magento), which helps improve the performance and speed of reading data out of the database.
Flat tables improve catalog load times by making it much easier to read data. Instead of searching through a number of different tables, flat tables allow the system to search for a single row in one table, which is much quicker.
Why is it important?
There are many different types of indexing, but one instance when indexing is particularly helpful is when it comes to pricing. When a pricing index runs, Magento grabs all of the rules required for pricing and runs through the calculations. It then outputs a final price. When a user is browsing the site, it just grabs the index price instead of having to calculate the price of the item each time the page loads.
This contributes to the overall speed of a site, which is always a concern for business owners. If a page takes more than a second or two to load, visitors are likely to leave the site. Anything that can decrease load time is a huge benefit.
Additionally, Magento Enterprise has switched over to a cron schedule. When something cannot be reindexed, or updated, manually, it is run in a cron, which runs jobs at various times or intervals. Alternatively, the tasks can be run in an indexing shell or on demand. These options are often time consuming and are performed after hours. Using those options means that product changes are not visible until the system has reindexed, often hours after the change was made. Because of the way Magento is now building indexes, if a product is updated then the product index is updated as well and the change is almost immediately available.
To learn more about indexing in Magento Enterprise, contact us. To discover more ways to speed up your eCommerce site, click below.