When you use JDBC driver to set up an application connection string to MS SQL Server database, it passed the sendStringParametersAsUnicode parameter as True if you don't define sendStringParametersAsUnicode in the connection string specifically. The default value is True. It will cause high CPU usage on SQL Server due to implicit conversion in queries passed from the application. The default setting send all the parameters in the queries as nvarchar.
If the data type in the tables does not align with the parameters datatype declared in the application queries, it will cause implicit conversion and table scan.
We need to always set sendStringParametersAsUnicode = False in JDBC connection string to SQL server database.
JDBC URL —
url="jdbc:sqlserver://
host:port;databaseName=dbName;SelectMethod=cursor;SendStringParametersAsUnicode=false"
Thank you for reading my post.
Thank you for visiting my blog. My site is intended to share information and knowledge with others as well as a reference site for me.
Subscribe to:
Post Comments (Atom)
How to add a Database to AlwaysOn Availability Group with four different options
To add a database to an existing AlwaysOn availability group, MS has given us four options to choose from Automatic seeding Full database an...
-
When you use JDBC driver to set up an application connection string to MS SQL Server database, it passed the sendStringParametersAsUnicode p...
-
Recently, we have encountered Secondary replica was in Resolving State and took 3 minutes to take over primary role when we forced reboot pr...
-
NIC Provider Order Hello 2017! I hope everyone had a great 2016. My son was born in December 2016 and 2016 was the best year for me. No...
No comments:
Post a Comment