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架构设计优化日志慢查询