linux软连接和硬链接的区别(1).软连接软连接的创建命令:ln -s 原文件  新文件此种情况如果删除原文件,新文件也GG无法使用(2).硬链接硬连接的创建命令:ln 原文件  新文件此种情况你删除其中一个文件,对剩余的文件不影响硬链接会将2个文件通过索引节点进行链接,所以不会多占用磁盘空间
之前在写支付回调的时候,因为第三方支付的回调机制有问题,存在并发回调的情况。如果对回调的订单不加锁的话,会造成一笔订单重复处理的情况。在 Laravel 中使用基于 Redis 的锁非常简单,只需要使用 Cache::lock() 就可以创建和管理锁。更多使用方法: https://learnku.com/docs/laravel/6.x/cache/5160#atomic-locks12345678910111213141516use Illuminate\Sup
在cli下运行消费数据,需要保持redis断线重连,虽然redis可以直接传递参数长连接,但是如果redis服务器异常关闭后再重启则需要重启php脚本,比较麻烦,所以写了一个redis断线重连简单版。<?php class PRedis {     /**      * options      * @var
给定四个表:student(学生表)teacher(老师表)course(课程表)sc(成绩表)根据题目要求,写出SQL语句。「问题列表」1、查询每个学生的学号、姓名和每门课的成绩2、查询都学过2号同学(sid=2)学习过的课程的同学的学号3、查询“语文(cid=1)”课程比“数学(cid=2)”课程成绩高的所有学生的学号;4、查询平均成绩大于60分的同学的学号和平均成绩;5、查询所有同学的学号、姓名、选课数、总成绩;6、查询姓“李”的老师的个数;7、查询没学过“叶平”老师课的同学的学号、姓名;
什么是索引索引是存储引擎用于快速找到记录的一种数据结构.理解索引一个常见的例子就是书的目录。我们都已经养成了看目录的习惯,拿到一本书时,我们首先会先去查看他的目录,并且当我们要查找某个内容时,我们会在目录中查找,然后找到该片段对应的页码,再根据相应的页码去书中查找。如果没有索引(目录)的话,我们就只能一页一页的去查找了。在MySQL中,假设我们有一张如下记录的表:idnameage1huyan102huiui183lumingfei204chuzihang155nono21如果我们希望查找到年龄
什么是事务事务是逻辑上的一组操作,要么都执行,要么都不执行。事务最经典也经常被拿出来说例子就是转账了。假如小明要给小红转账1000元,这个转账会涉及到两个关键操作就是:将小明的余额减少1000元,将小红的余额增加1000元。万一在这两个操作之间突然出现错误比如银行系统崩溃,导致小明余额减少而小红的余额没有增加,这样就不对了。事务就是保证这两个关键操作要么都成功,要么都要失败。事务的特性(ACID)原子性: 事务是最小的执行单位,不允许分割。事务的原子性确保动作要么全部完成,要么完全不起
用途多个查询需要在同一时刻修改数据,会产生并发控制的问题。使用锁可以有效解决这个问题锁的分类按照锁的粒度划分:行锁、表锁、页锁按照锁的使用方式划分:共享锁、排它锁(悲观锁的一种实现)还有两种思想上的锁:悲观锁、乐观锁InnoDB中有几种行级锁类型:Record Lock(在索引记录上加锁)、Gap Lock(间隙锁)、Next-key Lock(临键锁)行锁行级锁是Mysql中锁定粒度最细的一种锁,表示只针对当前操作的行进行加锁。**行级锁能大大减少数据库操作的冲突。其加锁粒度最小,但加锁的开销
SQL通用优化方案:1. 使用参数化查询:防止SQL注入,预编译SQL命令提高效率2. 去掉不必要的查询和搜索字段:其实在项目的实际应用中,很多查询条件是可有可无的,能从源头上避免的多余功能尽量砍掉,这是最简单粗暴的解决方案。3. 选择最有效率的表名顺序: 数据库的解析器按照从右到左的顺序处理FROM子句中的表名,FROM子句中写在最后的表将被最先处理,在FROM子句中包含多个表的情况下,你必须选择记录条数最少的表放在最后,如果有3个以上的表连接查询,那就需要选择那个被其他表所引用的表放在最后。
数据库命令规范• 所有数据库对象名称必须使用小写字母并用下划线分割• 所有数据库对象名称禁止使用 MySQL 保留关键字(如果表名中包含关键字查询时,需要将其用单引号括起来)• 数据库对象的命名要能做到见名识意,并且最后不要超过 32 个字符• 临时库表必须以 tmp_为前缀并以日期为后缀,备份表必须以 bak_为前缀并以日期 (时间戳) 为后缀• 所有存储相同数据的列名和列类型必须一致(一般作为关联列,如果查询时关联列类型不一致会自动进行数据类型隐式转换,会造成列上的索引失效,导致查询效率降低
索引相关1. 什么是索引?索引是一种数据结构,可以帮助我们快速的进行数据的查找.2. 索引是个什么样的数据结构呢?索引的数据结构和具体存储引擎的实现有关, 在MySQL中使用较多的索引有Hash索引,B+树索引等,而我们经常使用的InnoDB存储引擎的默认索引实现为:B+树索引.3. Hash索引和B+树所有有什么区别或者说优劣呢?首先要知道Hash索引和B+树索引的底层实现原理:hash索引底层就是hash表,进行查找时,调用一次hash函数就可以获取到相应的键值,之后进行回表查询获得实际数据
Top