Hello,
DBA here. We're seeing some interesting behavior at the SQL Server instance level hosting the sem5 database. The instance's buffer cache is being flooded with query plans that are, for the most part, only used once. These are taking up a lot of memory that can be otherwise used to store data for quick retrieval or re-usable query plans. As you can imagine, this isn't the most efficient use of the cache. These usually occur when queries are sent to the database as strings, without parameters. As a result, SQL Server is forced to create and compile individual plans for each query, despite many queries being almost identical.
Looking further into it, it looks like the vast majority of these single use queries are being executed against the sem5 database. SQL Server has an option to 'force parameterization' whereby in coming queries are forced to parameterization. This can lead to plan reuse and a more efficient cache. The downside here is that it can lead to scenario refered to as parameter sniffing, where by the first plan generated may work well for one parameter, but not ideal for other parameters.
Has anyone experience with this option on the sem5 database?