I am hoping someone can tell me what is calling ecf_ordergroup_delete. On one route I call this and it is taking 30 seconds to run, I would like to check as to why we are calling it and why it takes so long. I am guessing it is somehting to do with clearning the basket. Is there a way to work out which stored procedure is called from what Episerver API's?
This might help: http://world.episerver.com/forum/developer-forum/Episerver-Commerce/Thread-Container/2017/9/find-out-where-a-store-procedure-is-called/
Thanks Quan. After a lot of looking I found a method that creates the stored procedure string. It would be great if this was documented in some way. I still have no idea why this sp is taking 30 seconds to run but I will try and look some more.
The schema of database (including tables and procedures) is not documented, as we do not disclose, or support backward compatibility on them. In other words, they are blackbox - we always suggest to go with the public APIs instead.
If you have performance issues, you are welcome to contact Developer support service for assistant.
I have no intention of using anything but the API's. Doing so would cause headaches when upgrading. Although its a "black box" we still have to get it to perform and our code implementation can drastically effect Episerver Performacnce. An example I found recently was that FindPagesByCriteria is not cached by Episerver(in version 9 at least). For us to use your framework effecively we have to understand a little of how the black box works, otherwise we end up with a slow mess of an application that falls over with a couple of visitors.
I have had mixed results with raising support tickets with Developer Support Services and found yours and other professionals help on the forum more productive.
The developer support service is the official and recommended way to get support. If you are not happy with some of the answers, give feedback (I think you can rate the feedback, right) on how could it be better.
World forums works on a voluntary manner, so you are not guaranteed to get an answer here, and even if you do, it's not guaranteed to be correct, or to be a recommended way. Also there are cases when you need to provide your source code, or databases, or both, to look into the problem (in this case for example, you would have to provide your database), and that is not working here in World (unless you want to expose your data to public)
I think you missed my point and my compliment to your forum skills and knowledge of the commerce platform but don't worry.
No I read it - and I appreciate the feedback. But as an Episerver employee, I see developer support and I as "one" - different departments, yes, but one "Episerver". Helping developer support is also helping us - let's say you reach developer support with your database, which will most likely in up in our hands. With the data we can look into the issue to find out what is wrong, and even make an improvement that benefits all customers.
Regarding blackbox - as a rule of thumb we always recommend to frequently profile you site to find the bottlenecks. If the bottlenecks are in Episerver APIs, you can search to see if there is any note/documentation for it, for example FindPagesWithCriteria + cached returns this http://joelabrahamsson.com/how-episerver-cms-caches-pagedata-objects/. And you can of course can submit a ticket - it's our APIs - so we have the responsibility to ensure it has acceptable performance.
We would never document that this API calls this stored procedure - because that is pretty much implementation detail. Disclosing such information means that we are locked out and cannot change as fast as we want.