3 ms·
Our system allows users to do reporting based on a wide variety of criteria. In general it works, but nothing prevents a user from running queries that will tim
by hyperpape 12y ago
Our system allows users to do reporting based on a wide variety of criteria. In general it works, but nothing prevents a user from running queries that will timeout. Timing out is a waste of everyone's time, and it would be better to just kill the request early.
We do try to keep the reporting limited to what can be done efficiently, but I don't know if it's really viable to avoid everything ahead of time.
- hyperpape 12y agoIn fact, I'll go further: it's basically impossible for our system (and I think it's not an uncommon system for certain types of enterprise software). Part of the structure of the application is that there's a hierarchy representing our customers and their customers or business units. So company A has "sub-companies" (literal sub-companies, business units or customers) B through Z. A query that runs at the sub-company is perfectly acceptable, but excessively expensive at the higher level. Except for the simplest cases, the application has no clue which queries will be problematic. Who knows that information? Only the database.