[SQL ] 使用 like 跟 等號 效能上的差別

看板Database (資料庫)作者 (煉)時間8年前 (2016/06/30 11:52), 編輯推噓2(204)
留言6則, 5人參與, 最新討論串1/1
內容/問題描述: 小弟在坐 where 條件的時候習慣用 like 例如: select name from users where id like 1; 但是聽前輩說使用 like 會影響效能 要用 = 比較好 例如: select name from users where id = 1; 請問真的會有效能上的問題嗎? -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 175.182.249.62 ※ 文章網址: https://www.ptt.cc/bbs/Database/M.1467258763.A.7B7.html

06/30 12:10, , 1F
你的例子因該一樣,但like 要用'1*'才會用索引,而'*1'
06/30 12:10, 1F

06/30 12:10, , 2F
不會
06/30 12:10, 2F

07/01 11:48, , 3F
當table中的比數到一定數量後,like效能會很差
07/01 11:48, 3F

07/01 22:05, , 4F
不用猜,看執行計畫,眼見為憑
07/01 22:05, 4F

08/02 04:45, , 5F
看執行計畫 like 之後有沒有使用到索引
08/02 04:45, 5F

08/04 08:48, , 6F
一樓正確
08/04 08:48, 6F
文章代碼(AID): #1NT9UBUt (Database)
文章代碼(AID): #1NT9UBUt (Database)