Global Options = major slowdown?

In my dev install of 2.1.2 Pro, I have 10,000 products in a single category (purely for testing). Each item has 2-4 product options. In addition, I have 1 global product option (type:file) which is assigned (linked) to each product. I am using the default skin with mostly standard settings (display 10 products in the category view, jquery category paging disabled).

In the storefront, viewing the first 10 products of the category takes 20 seconds to load. If I empty the cscart_product_global_option_links table (unlinking the global product option), the same page takes 3 seconds to load.

Switching the site to “Live Mode” has no effect.

I have tried running the “Optimize database” function from the admin, but that also doesn’t improve the performance.

This install lives in MAMP on my MacBook Pro with the default MYSQL my.cnf settings.

Is there some critical inefficiency in the way CS-Cart queries the cscart_product_global_option_links table? Is there a fix?



Add a buttload of features and filters and I bet it gets even slower.

I’ve done some further testing. I now have a second category that contains only 10 of these products (the database still contains 10000 products). With a single global option (a text field) linked to only these 10 items, the new category takes 20 seconds to load. After I delete that global option, the category view loads instantly. This smells like a bug.

@Tool - All 10,000 products have 5-8 features (with 4 related filters) assigned to them. The performance hit from those is negligible compared to the Global Product Option.


I noticed a big slow down on my products all of which have options (6000) over 18 categories, I installed gzip and smartoptimizer and now get 3 - 7 seconds, seems like the global options are the slow ones. Note about half of my categories have global and half have std options.


johnbol1 and sixnin9

Could you provide an FTP access to your stores in order that we investigate the problem in more detail?

Please send the information via customer helpdesk with the “for klerik” mark.

Kind Regards.