中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

SQL SERVER出現cross the line怎么辦

發布時間:2021-10-12 15:00:04 來源:億速云 閱讀:222 作者:柒染 欄目:大數據

SQL SERVER出現cross the line怎么辦,針對這個問題,這篇文章詳細介紹了相對應的分析和解答,希望可以幫助更多想解決這個問題的小伙伴找到更簡單易行的方法。

SQL SERVER 在數據庫的里面一直是以“綿羊”的身份出現,不如 ORACLE 的尊貴,也不如POSTGRESQL 的 犀利, 更沒有MYSQL 的人氣。但很多人的第一個開蒙的數據庫就是SQL SERVER。SQL SERVER 的使用的面積是很廣的,但這么好脾氣的數據庫,你若 cross the line, 那就休怪他 給你“趴窩”。

我們來看看下面的一個例子然后在講講,是怎么得罪了這個“小綿羊”

首先這個表,的表結構我們就不去關心了,主要的就是id 是主鍵

SQL SERVER出現cross the line怎么辦

那我們的上面那個圖的查詢計劃是很正常的,走主鍵。

SQL SERVER出現cross the line怎么辦

到底是為什么一個簡簡單單的主鍵查詢會搞成全表掃描,問題的關鍵就是

Implicit conversion in SQL Server

(表沒有什么特別,就是用char作為主鍵)

SQL SERVER出現cross the line怎么辦

下面我們就好好說說,這個隱士轉換的問題, 首先明確的一個問題,隱士轉換存在兩個地方

1  給定的值沒有類型, 你要SQL SERVER 給你猜, 然后猜錯了

2  給定了類型,但不對,不是你對應表的字段類型,屬于 X唇不對X嘴的情況

這兩種情況最后的結果,繼續用上面的例子,就是好好的 = 變成了  >  < 的操作

SQL SERVER出現cross the line怎么辦

而反觀正常的方式

SQL SERVER出現cross the line怎么辦

當然問題已經說的很清楚了,解決也很簡單,如果要在挖一下,SQL SERVER 的隱士轉換也是有順序的,下面就是順序,1 用戶定義,你的定義是第一位的,然后就開始以此類推的進行 “猜猜看” 的好戲了。

SQL SERVER出現cross the line怎么辦

下面是一張表,這張表可以將類型(或者猜猜看),FROM TO  地來一個明確的表格化SHOW。

SQL SERVER出現cross the line怎么辦

當然如果現在出現一個聲音說,他們寫的程序我怎么知道有沒有隱士轉換,或者一大堆的存儲過程,我怎么知道隱士轉換,那有沒有方法揪出這些“害人精”。當然有辦法,直接打開你的 extent event 的 plan_affecting_convert ,就能打開照妖鏡,將他們一個個的抓出來。

所以我們在操作數據庫的時候,無論是對應的字段是什么類型,你定義的,聲明的,或者程序里面的,都最好和他“符合” ,否則 “小綿羊” 犄角的滋味也不大好受。

關于SQL SERVER出現cross the line怎么辦問題的解答就分享到這里了,希望以上內容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關注億速云行業資訊頻道了解更多相關知識。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

腾冲县| 宾川县| 莆田市| 拉萨市| 阜康市| 上犹县| 五常市| 株洲县| 涿鹿县| 杭州市| 都江堰市| 崇义县| 梁山县| 健康| 绵竹市| 尼木县| 射洪县| 镇赉县| 姜堰市| 通江县| 南溪县| 格尔木市| 凤山县| 天水市| 平度市| 库尔勒市| 富锦市| 榆树市| 安义县| 伊春市| 天长市| 探索| 抚宁县| 司法| 新邵县| 惠来县| 天峨县| 咸丰县| 轮台县| 保山市| 鄂伦春自治旗|