请简要描述MySQL数据库联合索引的命中规则,可举例说明。
-
MySQL联合索引遵循最左前缀匹配规则,即从联合索引的最左列开始向右匹配,直到遇到匹配终止条件。例如联合索引(col1, col2, col3), where条件为
col1='a' AND col2='b'
可命中该联合索引的(col1,col2)前缀部分, where条件为col2='b' AND col3='c'
不符合最左前缀匹配,不能命中该联合索引。 -
匹配终止条件为范围操作符(如>, <, between, like等)或函数等不能应用索引的情况。例如联合索引(col1, col2, col3), where条件为
col1='a' AND col2>1 AND col3='c'
, 在col2列上为范围查询,匹配即终止,只会匹配到col1,不能匹配到(col1, col2, col3). -
where条件中的顺序不影响索引命中。例如联合索引(col1, col2, col3), where条件为
col3='c' AND col2=b AND col1='a'
, MySQL优化器会自行进行优化,可命中联合索引(col1, col2, col3).
请描述https的请求过程。
-
客户端向服务器发起HTTPS请求,连接到服务器的443端口;
-
服务器端有一个密钥对,即公钥(即数字证书)和私钥,是用来进行非对称加密使用的,服务器端保存着私钥,不能将其泄露,公钥可以发送给任何人;
-
服务器将自己的公钥发送给客户端;
-
客户端收到服务器端的公钥之后,检查其合法性,如果发现发现公钥有问题,那么HTTPS传输就无法继续,如果公钥合格,则客户端会生成一个客户端密钥,然后用服务器的公钥对客户端密钥进行非对称加密成密文,至此,HTTPS中的第一次HTTP请求结束;
-
客户端发起HTTPS中的第二个HTTP请求,将加密之后的客户端密钥发送给服务器;
-
服务器接收到客户端发来的密文之后,会用自己的私钥对其进行非对称解密,解密之后的明文就是客户端密钥,然后用客户端密钥对数据进行对称加密,这样数据就变成了密文;
-
然后服务器将加密后的密文发送给客户端;
-
客户端收到服务器发送来的密文,用客户端密钥对其进行对称解密,得到服务器发送的数据。这样HTTPS中的第二个HTTP请求结束,整个HTTPS传输完成。
假设现在只有三台笔记本,分别为PC1、PC2和PC3,其中每台笔记本都有1块有线网卡和一块无线网卡,在仅有1根网线的情况下,如何将三台笔记本电脑组到一个局域网中?请给出解题思路步骤。
第一步:将其中一台笔记本(如PC2)的有线网卡和无线网卡做桥接;
第二步:PC1和PC2通过网线将有线网卡互联,PC2和PC3通过无线网卡互联;
第三步:将三台PC配置在同一个网段(比如192.168.1.0/24)。