The one I am currently working with
- Multiple calls to the database (a lot of times in a loop)
- Rather than reference, or variable passing, DB id is passed as a parameter to functions, so multiple calls to the database for a single object per API call
- Database design was normalized initially, for "optimization" most of the database has been denormalized.
- Queries without index
- If we were to create an index, probably have to create index on every column
- one of the function has more than 36 if else (including nested if else)
- Does not work with database partitioned or multiple databases
- OLAP like queries running wild on OLTP systems, just because we can
- Fastest API call - 1 second, slowest - <i dare no say>
It started as an outsourced project and the same codebase is being dragged on, with features being added every day and with no coherent plan.