$和#爲什麼$會發生sql注入?

  1. “#” 將傳入的數據都當成一個字符串,會對自動傳入的數據加一個雙引號

  2. “$” 將傳入的數據直接顯示生成在sql中

MyBatis排序時使用order by動態參數時需要注意,用 ${} 而不是 #

#{ } 用於CRUD

${ } 則用於模糊查詢(記得加%%)

DB執行一條SQL語句的時候,默認的方式是根據搜索條件進行全表掃描,遇到匹配條件的就加入搜索集合。如果對某一字段添加索引,查詢時就會先去索引列表中一次定位到特定值的行數,大大減少遍歷匹配的行數,索引能增加查詢的速度。

---------有索引的話,首先去索引列表中查詢,而索引列表是B類樹的數據結構,定位到特定值的行就會非常快,所以其查詢的速度就很快

是否將所有的字段都添加索引,來加快查詢?

------不行的

1.索引會佔用存儲空間,索引越多,使用的存儲空間越多

2.插入數據,存儲索引也會消耗時間,索引越多,插入數據的速度越慢

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章