公司網(wǎng)站建設(shè)制作全包廣東病毒感染最新消息
一 問題描述
近期生產(chǎn)環(huán)境幾臺(tái)sql server從庫(kù)cpu使用率總是打滿,發(fā)現(xiàn)抓的帶變量值的慢sql,手動(dòng)代入變量值執(zhí)行并不慢,秒級(jí)返回,不知道問題出在哪里。
二 問題排查
用擴(kuò)展事件或者sql profiler抓慢sql,抓到了變量值,如下:
執(zhí)行該sql,需要3秒。
這些字段是varchar類型的,但是這里看到這幾個(gè)變量都是nvarchar類型的,看來(lái)是自動(dòng)發(fā)生了轉(zhuǎn)換。sendStringParametersAsUnicode=true會(huì)將字段轉(zhuǎn)為nvarchar。
將nvarchar類型轉(zhuǎn)為varchar類型,查詢時(shí)長(zhǎng)為0秒:
三 解決辦法
讓開發(fā)同事修改代碼或nacos配置,將sendStringParametersAsUnicode值改為false