SELECT * FROM `waybill` WHERE send=1
possible_keys : send key : null using : where
這麼簡單的查詢,明明只有一個索引字段,爲什麼 Mysql 沒有使用對應的索引?sql
通過反覆查詢,終於發現問題。 send 的類型是 varchar 字符型,不是數值型,致使了這個錯誤,解決方法是要麼把 send 改成數值型要麼在查詢的時候加上雙引號函數
SELECT * FROM `waybill` WHERE send='1'
like 「%xxx」code
not in , !=索引
對列進行函數運算的狀況(如 where md5(password) = 「xxxx」)事件
WHERE index=1 OR A=10md5
存了數值的字符串類型字段(如手機號),查詢時記得不要丟掉值的引號,不然沒法用到該字段相關索引,反之則不要緊
也即字符串
select * from test where mobile = 13711112222;