一旦建立了僵尸网络,攻击者就可通过向每个机器人发送长途指令来发动攻击。当僵尸网络将受害者的服务器或网络作为目标时,每个机器人会将哀求发送到目标的 IP 地址,这可能导致服务器或网络不堪重负,从而造成对正常流量的拒绝服务。由于每个机器人都是合法的互联网设备,因而可能很难区分攻击流量与正常流量。
常见的DDoS攻击包罗以下几类:
type 字段就是描述了找到所需数据时使用的扫描方式是什么,常见扫描类型的执行服从从低到高的顺序为:
All(全表扫描);
index(全索引扫描);
range(索引范围扫描);
ref(非唯一索引扫描);
eq_ref(唯一索引扫描);
const(结果只有一条的主键或唯一索引扫描)。
在这些情况里,all 是最坏的情况,由于采用了全表扫描的方式。index 和 all 差不多,只不过 index 对索引表举行全扫描,这样做的利益是不再必要对数据举行排序,但是开销依然很大。所以,要尽量制止全表扫描和全索引扫描。
range 表示采用了索引范围扫描,一般在 where 子句中使用 < 、>、in、between 等关键词,只检索给定范围的行,属于范围查找。从这一级别开始,索引的作用会越来越明显,因此我们必要尽量让 SQL 查询可以使用到 range 这一级别及以上的 type 访问方式。
ref 类型表示采用了非唯一索引,或者是唯一索引的非唯一性前缀,返回数据返回可能是多条。由于虽然使用了索引,但该索引列的值并不唯一,有重复。这样纵然使用索引快速查找到了第一条数据,仍旧不能制止,要举行目标值附近的小范围扫描。但它的利益是它并不必要扫全表,由于索引是有序的,即便有重复值,也是在一个非常小的范围内扫描。
eq_ref 类型是使用主键或唯一索引时产生的访问方式,通常使用在多表联查中。比如,对两张表举行联查,关联条件是两张表的 user_id 相等,且 user_id 是唯一索引,那么使用 EXPLAIN 举行执行操持检察的时候,type 就会表现 eq_ref。
const 类型表示使用了主键或者唯一索引与常量值举行比较,比如 select name from product where id=1。
必要说明的是 const 类型和 eq_ref 都使用了主键或唯一索引,不过这两个类型有所区别,const 是与常量举行比较,查询服从会更快,而 eq_ref 通常用于多表联查中。
extra 表现的结果,这里说几个重要的参考指标:
Using filesort :当查询语句中包含 group by 操作,而且无法使用索引完成排序操作的时候, 这时不得不选择相应的排序算法举行,乃至可能会通过文件排序,服从是很低的,所以要制止这种问题的出现。
Using temporary:使了用暂时表保存中间结果,MySQL 在对查询结果排序时使用暂时表,常见于排序 order by 和分组查询 group by。服从低,要制止这种问题的出现。
Using index:所需数据只需在索引即可全部得到,不须要再到表中取数据,也就是使用了覆盖索引,制止了回表操作,服从不错。