https://blog.csdn.net/qq_34306360/article/details/79187075

Mysql  innodb和myisam区别?

InnoDB支持事务,MyISAM不支持 

InnoDB支持外键,而MyISAM不支持

Innodb不支持全文索引,而MyISAM支持全文索引

InnoDB支持表、行(默认)级锁,而MyISAM支持表级锁:InnoDB的行锁是实现在索引上的,而不是锁在物理行记录上


Mysql 索引的类型有哪几种?

普通索引:仅加速查询

唯一索引:加速查询 + 列值唯一(可以有null)

主键索引:加速查询 + 列值唯一(不可以有null)+ 表中只有一个

组合索引:多列值组成一个索引,专门用于组合搜索,其效率大于索引合并

全文索引:对文本的内容进行分词,进行搜索: CHAR、VARCHAR ,TEXT 列上可以创建全文索引


--创建普通索引

CREATE INDEX index_name ON table_name(col_name);  方式1

ALTER TABLE table_name ADD INDEX index_name(col_name); 方式二

--创建唯一索引CREATE UNIQUE INDEX index_name ON table_name(col_name);

--创建普通组合索引CREATE INDEX index_name ON table_name(col_name_1,col_name_2);

--创建唯一组合索引CREATE UNIQUE INDEX index_name ON table_name(col_name_1,col_name_2);

Mysql 共享锁排它锁?

mysql锁机制分为表级锁和行级锁{行级锁中的共享锁与排他锁}

共享锁又称为读锁。排他锁又称为写锁

加排他锁可以使用select …for update语句,加共享锁可以使用select … lock in share mode语句,

Mysql  四种事务隔离级别

事务隔离级别 脏读 不可重复读 幻读

读未提交(read-uncommitted)

不可重复读(read-committed)

可重复读(repeatable-read) 是------默认

串行化(serializable)

事务的基本要素:

1、原子性,2、一致性,3、隔离性,4、持久性

1、原子性(Atomicity):事务开始后所有操作,要么全部做完,要么全部不做,不可能停滞在中间环节。事务执行过程中出错,会回滚到事务开始前的状态,所有的操作就像没有发生一样。也就是说事务是一个不可分割的整体,就像化学中学过的原子,是物质构成的基本单位。

   2、一致性(Consistency):事务开始前和结束后,数据库的完整性约束没有被破坏 。比如A向B转账,不可能A扣了钱,B却没收到。

   3、隔离性(Isolation):同一时间,只允许一个事务请求同一数据,不同的事务之间彼此没有任何干扰。比如A正在从一张银行卡中取钱,在A取钱的过程结束前,B不能向这张卡转账。

   4、持久性(Durability):事务完成后,事务对数据库的所有更新将被保存到数据库,不能回滚。

事务的并发问题

  1、脏读:事务A读取了事务B更新的数据,然后B回滚操作,那么A读取到的数据是脏数据

  2、不可重复读:事务 A 多次读取同一数据,事务 B 在事务A多次读取的过程中,对数据作了更新并提交,导致事务A多次读取同一数据时,结果 不一致。

  3、幻读:系统管理员A将数据库中所有学生的成绩从具体分数改为ABCDE等级,但是系统管理员B就在这个时候插入了一条具体分数的记录,当系统管理员A改结束后发现还有一条记录没有改过来,就好像发生了幻觉一样,这就叫幻读。

  小结:不可重复读的和幻读很容易混淆,不可重复读侧重于修改,幻读侧重于新增或删除。解决不可重复读的问题只需锁住满足条件的行,解决幻读需要锁表

Mysql事务与redis事务的区别:redis不能回滚

mysql主键索引和唯一索引的区别

主键创建后一定包含一个唯一性索引,唯一性索引并不一定就是主键。

唯一性索引列允许空值,而主键列不允许为空值。

主键可以被其他表引用为外键,而唯一索引不能。

一个表最多只能创建一个主键,但可以创建多个唯一索引

mysql主从的原理及哪些日志类型?MySQL5.6开始主从复制有两种方式:基于日志(binlog);基于GTID(全局事务标示符)

mysql主从复制出现延迟的原因?

Mysql索引的创建原则?

Mysql explain的每项说明

mysql索引的原理

Mysql优化的思路?

https://www.cnblogs.com/wt645631686/

协程《线程《进程\的概念及关系

PHP多线程怎么实现

PHP的生命周期

PHP设计模式及场景

class Single {

    private static $_instance;

    public static function getInstance(){

        if( empty(self::$_instance) )){

            self::$_instance = new self;

        }

        return self::$_instance;

    }

}

PHP魔术方法的应用场景

PHP中的魔术方法有 :__construct, __destruct , __call, __callStatic,__get, __set, __isset, __unset , __sleep, __wakeup, __toString, __set_state, __clone, __autoload 

linux一些基本命令  

crontab

awk

top

nginx与apache的区别

php与nginx如何通信

php-fpm即php-Fastcgi Process Manager.

php-fpm是 FastCGI 的实现,并提供了进程管理的功能。

进程包含 master 进程和 worker 进程两种进程。

master 进程只有一个,负责监听端口,接收来自 Web Server 的请求,而worker 进程则一般有多个(具体数量根据实际需要配置),每个进程内部都嵌入了一个 PHP 解释器,是 PHP 代码真正执行的地方。

www.example.com        

        |

       Nginx        

         |

   路由到www.example.com/index.php        

        |

  加载nginx的fast-cgi模块        

        |

  fast-cgi监听127.0.0.1:9000地址        

        |

  www.example.com/index.php请求到达127.0.0.1:9000

        |

  php-fpm 监听127.0.0.1:9000

        |

  php-fpm 接收到请求,启用worker进程处理请求        

        |

   php-fpm 处理完请求,返回给nginx        

        |

  nginx将结果通过http返回给浏览器

redis一共多少数据格式?7种  常见的哪几种? 分别的应用场景

redis是单线程还是多线程?   为什么是多线程?

redis与memcache的区别

redis锁的实现

redis事务的实现

redis持久化的方式?两种的区别

RDB持久化,将内存中的数据集快照写入磁盘

AOF持久化以日志的形式记录服务器所处理的每一个写

对于灾难恢复而言,RDB是非常不错的选择, 相比于AOF机制,如果数据集很大,RDB的启动效率会更高,缺点:Redis意外宕机,可能会丢失几分钟的数据,使用AOF,最多丢失1秒的数据.

redis为什么比共享内存慢?

什么是IO多路复用?

二分查找法、冒泡排序法等算法

PHP7新特性

http请求包括哪些方法?每种方法适合的场景  

get与post区别,put 与delete区别

接口的安全性?https://blog.csdn.net/li741350149/article/details/62887524

服务器、MysqL、PHP的安全?

一般网页请求加载慢,你的优化思路?

服务器出现502你的排查思路?

1、查看当前的PHP FastCGI进程数是否够用:netstat -anpo | grep "php-cgi"| wc -l

2、部分PHP程序的执行时间超过了Nginx的等待时间

http请求相关头信息你会注意那几个地方?分别表示什么?

PHP是C实现的?为什么能实现PHP的弱类型?

Mysql如何强制使用索引?

kafka与rabbitmq的区别

LVS负载均衡与Nginx负载均衡区别

浏览器输入URL到响应页面的全过程

MySQL架构设计优化日志慢查询