最新发布

PHP 中的 final 关键字

PHP

PHP 从 5.x 版本开始新增了 final 关键字,它可以在类或类的方法前面使用,但是不能用来修饰类的属性。记重点:final 修饰的类不能被继承,final 修饰的方法不能被重写。被 final 修饰的类称为 ”最终类“,被 final 修饰的方法称为 “最终方法”

辰风沐阳 阅读 2043 2022-05-17

MySQL 索引用法详解

MySQL

MySQL 索引是加速数据检索的核心数据结构,其作用类似于书籍目录,可避免全表扫描,显著提升查询效率。索引类型包括 B+ 树索引(主流)、哈希索引(特定场景)、聚簇索引(数据与索引存储在一起)和非聚簇索引(需回表查询)。逻辑功能上分为普通索引、主键索引、唯一索引等。索引虽能提升查询速度,但会增加磁盘空间占用并降低增删改操作效率。适合建立索引的列包括高频查询条件列、表连接关联列、排序分组列和高区分度列;而区分度极低、频繁更新或很少查询的列则不适合。主键查询最快因其直接存储完整行数据,无需回表。MySQL 采用 B+ 树而非哈希索引,因其在磁盘I/O效率和功能全面性(支持范围查询、排序等)上更优。

辰风沐阳 阅读 698 2022-05-16

MySQL 慢查询详解

MySQL 面试题

常见面试题:如何从一个大项目中,迅速定位执行速度慢的 SQL 语句?此时可以使用慢查询定位 SQL 语句。慢查询,故名思义,就是在日志中记录运行比较慢的 SQL 语句,是指所有执行超过 long_query_time 参数设定的时间阈值的 SQL 语句查询

辰风沐阳 阅读 2272 2022-05-14

mysql 数据库设计三大范式

MySQL

设计表的依据,按照范式设计出来的表,不会出现数据的冗余。数据库的设计范式是数据库设计所需要满足的规范,满足这些规范的数据库是简洁的、结构清晰的;反之则是乱七八糟,不仅会给开发人员制造麻烦,还可能存储了大量冗余数据

辰风沐阳 阅读 1985 2022-05-14

cookie 和 session 的区别

PHP 面试题

cookie 和 session 的区别是什么?这个问题在面试中问到的频率非常高。cookie 和 session 的共同点: 都是用来记录用户访问浏览器时保存的数据,比如:用户的身份信息等。cookie 数据存放在浏览器端,session 数据存放在服务器端

辰风沐阳 阅读 2100 2022-05-11

MyISAM 和 InnoDB 的区别

MySQL 面试题

MySQL 的存储引擎其实就是如何存储数据、如何建立索引、如何查询和更新数据等技术的实现方法。事务和外键:MyISAM 强调的是性能,它的执行速度比 InnoDB 更快,但是不支持事务和外键功能;InnoDB 支持事务和外键等高级数据库功能

辰风沐阳 阅读 1949 2022-05-08

PHP 代码复用机制 trait

PHP

众所周知,PHP 是单继承的语言,也就是 PHP 中的类只能继承一个父类,无法同时从多个基类中继承属性和方法,于是 PHP 实现了一种代码复用的方法,称之为 trait,使开发人员可以在不同层次结构内独立的类中复用属性和方法

辰风沐阳 阅读 2112 2022-04-28

git fetch 命令详解

Git

git fetch 命令用于将远程库更新到本地。当远程库中有了新的提交记录、分支、标签时,可以使用这个命令将远程库中的更新拉取到本地库

辰风沐阳 阅读 2868 2022-04-26

Linux 命令之查看文件内容

Linux Mac

在 linux 系统中有很多命令可以在终端查看文本文件,其中就是两个就是 cat、more,但这两个命令的输出是不一样的,我会根据不同的场景使用不同的命令

辰风沐阳 阅读 2397 2022-04-23

.git 目录结构内容解析

Git

当我们执行 git init 后,会生成一个 .git 文件夹,这个文件夹我们称为 Git 仓库(Git Repository)。.git 目录下面有很多文件和目录,把这些内容的作用搞清楚可以帮助我们了解到 git 的实现原理,进而明白 git 是如何对文件进行版本控制的

辰风沐阳 阅读 2919 2022-04-19

git push 命令详解

Git

git push 用于更新远程引用以及关联对象,使用本地 refs 更新远程 refs,同时发送完成给定 refs 所需的对象。用于将本地分支的更新推送到到远程主机,也可以用于删除远程分支和远程库中标签

辰风沐阳 阅读 2431 2022-04-18

git stash 命令详解(保存开发进度)

Git

当我们开发新功能做到一半时,产品经理过来和我们反馈了一个紧急 bug,需要马上解决,但是做了一半的新功能又不想提交到版本库。这时可以使用 git stash 将当前进度保存起来,修复完 bug 后再使用 git stash`恢复之前保存的进度

辰风沐阳 阅读 2387 2022-04-15

标签云

友情链接