我想知道下面兩個查詢之間是否有任何性能差異。類似WHERE子句的性能比較
查詢1:
Select
personName
From tbl
Where personName = 'Asif'
QUERY2:
Select
personName
From tbl
Where personName = 'Muhammad Asif'
的PERSONNAME字段不是在索引。 我只是想知道,當我們搜索一個有空格的字符串時,sql引擎需要更多的努力/時間來執行查詢,或者它的行爲與沒有空格相同。
矮個子:
- 如果字符串就像一個沒有空間,但短期像阿西夫或字母Q1234
- 如果字符串包含像「穆罕默德阿西夫」
- 如果字符串包含空格,並且其位位長的很像「我的名字是'
sql engine對這些搜索條件會有什麼影響?
當你分析每一個時會發生什麼?爲什麼空間會很重要?除了作爲字符串中的附加字符之外,它們沒有特別的意義。對於你想要搜索的字段進行適當的索引將比字符串大小對你的性能產生更積極的影響。 –
您應該在ms sql server中打開兩個查詢,然後在兩者上執行顯示預計執行計劃,然後比較估計的I/O,CPU和操作員成本,以更好地瞭解發生的情況。這可以用於任何SQL查詢。數據庫訪問路徑是特定於每個特定數據庫的。也就是說,這兩個查詢之間唯一不同的是被查詢字符串的長度,這很可能不會給你兩者之間的性能差異。 –
我不會打擾估計。你從實際獲得更多信息。 –