TCP三次握手、四次挥手状态位
SYN_SENT:第一次握手时客户端设置
SYN_RECVD:第二次握手时服务端设置
ESTABLISHED:第三次握手时客户端服务端都设置
LAST_ACK:第三次挥手时服务端设置
数据库索引失效原因
1、应尽量避免在 where 子句中使用 != 或 <> 操作符,否则引擎将放弃使用索引而进行全表扫描;
2、尽量避免在 where 子句中使用 or 来连接条件,否则将导致引擎放弃使用索引而进行全表扫描,即使其中有条件带索引也不会使用,这也是为什么尽量少用 or 的原因;
3、对于多列索引,应满足最左匹配原则;
4、如果列类型是字符串,那一定要在条件中将数据使用引号引用起来,否则不会使用索引;
5、like的模糊查询以 % 开头,索引失效;
6、应尽量避免在 where 子句中对字段进行表达式操作,这将导致引擎放弃使用索引而进行全表扫描;
7、应尽量避免在 where 子句中对字段进行函数操作,这将导致引擎放弃使用索引而进行全表扫描;
8、不要在 where 子句中的 “=” 左边进行函数、算术运算或其他表达式运算,否则系统将可能无法正确使用索引;
9、如果MySQL估计使用全表扫描要比使用索引快,则不使用索引;
10、不适合键值较少的列(重复数据较多的列)
go中init()函数:
有下面的特征:
1 init函数是用于程序执行前做包的初始化的函数,比如初始化包里的变量等
2 每个包可以拥有多个init函数
3 包的每个源文件也可以拥有多个init函数
4 同一个包中多个init函数的执行顺序go语言没有明确的定义(说明)
5 不同包的init函数按照包导入的依赖关系决定该初始化函数的执行顺序
6 init函数不能被其他函数调用,而是在main函数执行之前,自动被调用
调用顺序:
有疑问加站长微信联系(非本文作者)