$和#为什么$会发生sql注入?

  1. “#” 将传入的数据都当成一个字符串,会对自动传入的数据加一个双引号

  2. “$” 将传入的数据直接显示生成在sql中

MyBatis排序时使用order by动态参数时需要注意,用 ${} 而不是 #

#{ } 用于CRUD

${ } 则用于模糊查询(记得加%%)

DB执行一条SQL语句的时候,默认的方式是根据搜索条件进行全表扫描,遇到匹配条件的就加入搜索集合。如果对某一字段添加索引,查询时就会先去索引列表中一次定位到特定值的行数,大大减少遍历匹配的行数,索引能增加查询的速度。

---------有索引的话,首先去索引列表中查询,而索引列表是B类树的数据结构,定位到特定值的行就会非常快,所以其查询的速度就很快

是否将所有的字段都添加索引,来加快查询?

------不行的

1.索引会占用存储空间,索引越多,使用的存储空间越多

2.插入数据,存储索引也会消耗时间,索引越多,插入数据的速度越慢

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