自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(108)
  • 收藏
  • 关注

转载 MySQL高级知识(十六)——小表驱动大表

前言:本来小表驱动大表的知识应该在前面就讲解的,但是由于之前并没有学习数据批量插入,因此将其放在这里。在查询的优化中永远小表驱动大表。1.为什么要小表驱动大表呢类似循环嵌套for(int i=5;.......){ for(int j=1000;......) {}}如果小的循环在外层,对于数据库连接来说就只连接5次,进行5000次操作,如果1000在外,...

2019-09-14 00:19:52 302

转载 MySQL高级知识(十五)——主从复制

前言:本章主要讲解MySQL主从复制的操作步骤。由于环境限制,主机使用Windows环境,从机使用用Linux环境。另外MySQL的版本最好一致,笔者采用的MySQL5.7.22版本,具体安装过程请查询相关资料。1.主从复制的基本原理slave会从master读取binlog来进行数据同步。主要有以下三个步骤:①master将改变记录到二进制日志(binary log),这些记录过程叫...

2019-09-14 00:19:49 232

转载 MySQL高级知识(十四)——行锁

前言:前面学习了表锁的相关知识,本篇主要介绍行锁的相关知识。行锁偏向InnoDB存储引擎,开销大,加锁慢,会出现死锁,锁定粒度小,发生锁冲突的概率低,但并发度高。0.准备#1.创建相关测试表tb_innodb_lock,注意数据库引擎为InnoDB。drop table if exists test_innodb_lock;CREATE TABLE test_innodb_lo...

2019-09-14 00:19:46 233

转载 MySQL高级知识(十三)——表锁

前言:锁是计算机协调多个进程或线程并发访问某一资源的机制。在数据库中,除传统的计算机资源(如CPU、RAM、I/O等)的争用外,数据也是一种供许多用户共享的资源。如何保证数据并发访问的一致性、有效性是所有数据库必须解决的一个问题,锁冲突也是影响数据并发访问性能的一个重要因素。从这个角度来说,锁对数据库而言显得尤其重要,也更加复杂。1.锁的分类#1.从对数据操作的类型来分读锁(共享锁)和...

2019-09-14 00:19:42 158

转载 MySQL高级知识(十二)——全局查询日志

前言:全局查询日志用于保存所有的sql执行记录,该功能主要用于测试环境,在生产环境中永远不要开启该功能。1.如何开启#1.通过my.cnf配置开启该功能。注:对my.cnf文件配置后,需重启mysql。①通过命令查看全局查询日志是否开启成功。②查看全log_globalquery.log文件中的内容。该log文件记录执行过的sql语句。#2.通过命令开启该功...

2019-09-14 00:19:39 137

转载 MySQL高级知识(十一)——Show Profile

前言:Show Profile是mysql提供的可以用来分析当前会话中sql语句执行的资源消耗情况的工具,可用于sql调优的测量。默认情况下处于关闭状态,并保存最近15次的运行结果。1.分析步骤#1.开启Show Profile功能,默认该功能是关闭的,使用前需开启。#2.根据MySQL高级知识(十)——批量插入数据脚本中的数据脚本向tb_emp_bigdata表中插入50w条数据...

2019-09-14 00:19:36 401

转载 MySQL高级知识(十)——批量插入数据脚本

前言:使用脚本进行大数据量的批量插入,对特定情况下测试数据集的建立非常有用。0.准备#1.创建tb_dept_bigdata(部门表)。create table tb_dept_bigdata(id int unsigned primary key auto_increment,deptno mediumint unsigned not null default 0,dname...

2019-09-14 00:19:32 175

转载 MySQL高级知识(九)——慢查询日志

前言:慢查询日志是MySQL提供的一种日志记录,它记录MySQL中响应时间超过阈值的语句,具体指运行时间超过long_query_time值的sql语句,该sql语句会被记录到慢查询日志中。慢查询日志主要与explain进行联合分析。1.如何开启慢查询日志默认情况下,MySQL数据库没有开启慢查询日志,需要我们手动来设置这个参数。如果不是调优需要,一般不建议开启该参数,因为开启慢查询日志或...

2019-09-13 22:38:53 95

转载 MySQL高级知识(八)——ORDER BY优化

前言:在使用order by时,经常出现Using filesort,因此对于此类sql语句需尽力优化,使其尽量使用Using index。0.准备#1.创建test表。drop table if exists test;create table test(id int primary key auto_increment,c1 varchar(10),c2 varcha...

2019-09-13 22:38:02 140

转载 MySQL高级知识(七)——索引面试题分析

前言:该篇随笔通过一些案例,对索引相关的面试题进行分析。0.准备#1.创建test表(测试表)。drop table if exists test;create table test(id int primary key auto_increment,c1 varchar(10),c2 varchar(10),c3 varchar(10),c4 varchar(10)...

2019-09-13 22:37:00 168

转载 MySQL高级知识(六)——索引优化

前言:索引优化的目的主要是让索引不失效,本篇通过相关案例对索引优化进行讲解。0.准备创建经典的tb_emp表。DROP TABLE IF EXISTS `tb_emp`;CREATE TABLE `tb_emp` ( `id` int(11) NOT NULL AUTO_INCREMENT, `name` varchar(20) NOT NULL, `age` in...

2019-09-13 22:35:30 141

转载 MySQL高级知识(五)——索引分析

前言:前面已经学习了explain(执行计划)的相关知识,这里利用explain对索引进行优化分析。0.准备首先创建三张表:tb_emp(职工表)、tb_dept(部门表)和tb_desc(描述表)1)tb_emp表。DROP TABLE IF EXISTS `tb_emp`;CREATE TABLE `tb_emp` ( `id` int(11) NOT NULL A...

2019-09-13 22:34:15 97

转载 MySQL高级知识(四)——Explain

前言:explain(执行计划),使用explain关键字可以模拟优化器执行sql查询语句,从而知道MySQL是如何处理sql语句。explain主要用于分析查询语句或表结构的性能瓶颈。注:本系列随笔如无特殊说明都MySQL版本都为5.7.22。1.explain的作用通过explain+sql语句可以知道如下内容:①表的读取顺序。(对应id)②数据读取操作的操作类型。(对应s...

2019-09-13 22:33:01 511

转载 MySQL高级知识(三)——索引

前言:索引在sql调优部分占据着重要的位置,了解并深入索引对我们来说也是非常重要的。本篇主要介绍MySQL中索引的相关知识点。1.索引是什么MySQL官方对索引的定义:索引(Index)是帮助MySQL高效获取数据的数据结构。因此索引的本质就是数据结构。索引的目的在于提高查询效率,可类比字典、书籍的目录等这种形式。可简单理解为“排好序的快速查找数据结构”。在数据之外,数据库系统还维护着...

2019-09-13 22:30:58 124

转载 MySQL高级知识(二)——Join查询

前言:该篇主要对MySQL中join语句的七种情况进行总结。0.准备join主要根据两表或多表之间列的关系,从这些表中进行数据的查询。首先创建两张表:tb_emp(员工表)和tb_dept(部门表),并插入相关测试数据。1.tb_emp表。DROP TABLE IF EXISTS `tb_emp`;CREATE TABLE `tb_emp` ( `id` int(1...

2019-09-13 22:28:27 109

转载 MySQL高级知识(一)——基础

前言:MySQL高级知识主要来自尚硅谷中MySQL的视频资源。对于网上视频资源来说,尚硅谷是一个非常好的选择。通过对相应部分的学习,笔者可以说收益颇丰,非常感谢尚硅谷。1.关于MySQL的一些文件MySQL如何安装、如何配置自启动,这里不进行讲述,可自行搜索相关安装教程进行处理。这里主要介绍MySQL的主要配置文件。①二进制日志log-bin:用于主从复制。②错误日志log-err...

2019-09-13 22:27:10 134

原创 Mysql中limit的用法

limit语法limit语法支持两个参数,offset和limit,前者表示偏移量,后者表示取前limit条数据.例如:## 返回符合条件的前10条语句 select * from user limit 10## 返回符合条件的第11-20条数据select * from user limit 10,20从上面也可以看出来,limit n 等价于limit 0,n性能...

2019-09-13 18:12:22 480

原创 MySQL数据库优化和数据表设置注意事项

1. 优化一览图2. 优化笔者将优化分为了两大类,软优化和硬优化,软优化一般是操作数据库即可,而硬优化则是操作服务器硬件及参数设置.2.1 软优化2.1.1 查询语句优化1.首先我们可以用EXPLAIN或DESCRIBE(简写:DESC)命令分析一条查询语句的执行信息.2.例:DESC SELECT * FROM `user`例:显示:其...

2019-09-08 21:14:21 671

转载 thinkphp框架路由的定义与使用

thinkphp框架路由的定义与使用ThinkPHP框架具体强大的路由定义功能,基本上能满足网站路由的所有要求,包括规则路由、正则路由、静态路由,还对路由的闭包支持。下面介绍ThinkPHP框架路由的定义与使用。路由的定义启用路由。ThinkPHP路由配置生效需要满足三个条件:(1)在配置文件中开启路由功能,如下图1;(2)URL支持PATH_INFO模式或者兼容URL模式...

2019-09-08 20:46:37 1230

原创 最新PHP面试题汇总(附答案)

1.请自我介绍一下?答:我叫xxx,来自北京,20xx年毕业于xx大学计算机xx系,毕业后在武汉从事了x年的php开发工作,公司是一个外包公司,主要做微信开发,公众号推广,商城,论坛的开发2.你在公司负责那些项目?答:由于我们公司是一个外包公司,不可能只做一个项目,公司的项目都是交叉进行的,论坛,微信,商城我都做过?3.你为什么来深圳?答:因为我哥在这边,父母也希望...

2019-09-08 20:42:56 14464

转载 102个Linux常用指令

前言本文收录了 linux 常用指令,这里面有个小技巧,基本上所有指令后面跟上 --h 可以显示其使用方法。故不必死记硬背,知其意乃通其形。分类如下: ● 文件 & 目录操作(16 个) ● 查看文件 & 内容处理(18 个) ● 文件压缩 & 解压缩(3 个) ● 信息显示(11 个) ● 搜索文件(4 个) ● 进程管理(11 个) ...

2019-09-08 20:24:33 209

转载 MySQL 四种隔离级别

什么是事务事务是应用程序中一系列严密的操作,所有操作必须成功完成,否则在每个操作中所作的所有更改都会被撤消。也就是事务具有原子性,一个事务中的一系列的操作要么全部成功,要么一个都不做。事务的结束有两种,当事务中的所以步骤全部成功执行时,事务提交。如果其中一个步骤失败,将发生回滚操作,撤消撤消之前到事务开始时的所以操作。另外,这篇分布式事务不理解?一次给你讲清楚!推荐大家阅读。事务的 A...

2019-09-08 20:19:07 122

原创 学习十一:laravel多对多模型实现个人中心,关注,被关注

1、创建fan表public function up(){ Schema::create('fans', function (Blueprint $table) { $table->increments('id'); $table->integer('fan_id')->default(0); $table->...

2019-09-06 16:38:23 269

原创 学习十:laravel的模型关联应用于评论模块

1、创建评论模型Commentphp artisan make:model Comment创建后记得修改继承的是之前创建的基类Modelnamespace App;use App\Model;class Comment extends Model{ //评论所属文章 //一对多反向 public function post() ...

2019-09-05 13:49:14 209

原创 学习九:Auth门脸类,自定义用户登录注册,用户授权

1、删除app下已有的Auth文件夹,创建新的登录、注册、用户控制器,定义路由php artisan make:controller XXXController 创建控制器//用户模块////注册页面Route::get('/register','\App\Http\Controllers\RegisterController@index');//注册行为Route::po...

2019-09-04 16:16:59 339

转载 laravel面试及相关题型

PHP模块PHP7 和 PHP5 的区别,具体多了哪些新特性? 性能提升了两倍 结合比较运算符 (<=>) 标量类型声明 返回类型声明 try...catch 增加多条件判断,更多 Error 错误可以进行异常处理 匿名类,现在支持通过new class 来实例化一个匿名类,这可以用来替代一些“用后即焚”的完整类定义 …… 了解更多查看文章底部链接 PHP...

2019-09-04 10:58:31 3041

原创 Lavarel artisan常用命令

1,查看artisan命令php artisan php artisan list2,查看某个帮助命令php artisan help make:model3,查看laravel版本php artisan --version4,使用 PHP 内置的开发服务器启动应用php artisan serve5,生成一个随机的 key,并自动更新到 app/config...

2019-09-03 21:58:35 287

原创 Vue基础知识

<!-- 案例1(创建一个vue应用): --><div id="app"> {{message}} {{name}}</div><script>var vm = new Vue({ el:'#app', //el:元素 data:{ message:'hello Vue!', ...

2019-09-01 12:58:50 505

原创 INNODB索引实现原理

一、B+树 B+树属于索引的基础,不在详细介绍插入删除过程。只介绍特点。1 、搜索二叉树:每个节点有两个子节点,数据量的增大必然导致高度的快速增加,显然这个不适合作为大量数据存储的基础结构。2、 B树(m阶):一棵m阶B树是一棵平衡的m路搜索树。每个节点之多拥有m棵子树; 根结点至少拥有两颗子树(存在子树的情况下); 除了根结点以外,其余每个分支结点至少拥有 m/2 棵子树;...

2019-08-27 13:41:03 164

原创 PHP日期格式与时间戳转换

日期转化为unix时间戳1、strtotime() 函数用于将英文文本字符串表示的日期转换为时间戳,为 date() 的反函数,成功返回时间戳,否则返回 FALSEecho strtotime("2009-10-21 16:00:10"); //输出 1256112010echo strtotime("10 September 2008"); //输出 1220976000...

2019-08-23 10:09:45 1012

转载 最简单的 QQ分享、微信分享、一键加QQ群 引入

一、前言1、要使网页内容得到更多的推广,更加商业化,分享链接无疑是最好的选择2、bshare 可以简单实现分享到QQ空间、新浪微博、人人网、腾讯微博、网易微博、更多平台等二、代码<!DOCTYPE html><html> <head> <meta charset="UTF-8"> <...

2019-08-21 18:31:39 1356

转载 五种常见的 PHP 设计模式

策略模式策略模式是对象的行为模式,用意是对一组算法的封装。动态的选择需要的算法并使用。策略模式指的是程序中涉及决策控制的一种模式。策略模式功能非常强大,因为这个设计模式本身的核心思想就是面向对象编程的多形性思想。策略模式的三个角色:1.抽象策略角色2.具体策略角色3.环境角色(对抽象策略角色的引用)实现步骤:1.定义抽象角色类(定义好各个实现的共同抽象方法)2....

2019-08-16 20:06:20 213

原创 php高级教程

2019-08-16 10:52:47 281

原创 mysql高级教程

2019-08-16 10:46:25 547 1

原创 三级模式两级映像/数据库系统结构

考察数据库的结构可以有多种不同的层次或角度。(这里说的数据库不局限于关系型数据库)1. 如果从DBMS角度来看,数据库通常采用三级模式结构,也就是说DBMS内部的系统结构是三级模式结构2. 如果从数据库最终用户角度来看,数据库系统的结构可分为:单用户结构、主从式结构、分布式结构、客户/服务器、浏览器/应用服务器/数据库服务器多层结构等。这是数据库系统外部体系结构。1. 数据库系统的模式...

2019-08-14 15:43:29 402

转载 mysql中把一个表的数据批量转移到另一个表中

一、 如果两张张表(导出表和目标表)的字段一致,并且希望插入全部数据,可以用这种方法:(此方法只适合导出两表在同一database)INSERT INTO 目标表 SELECT * FROM 来源表;例如,要将 articles 表插入到 newArticles 表中,则可以通过如下SQL语句实现:INSERT INTO newArticles SELECT * FROM articl...

2019-08-14 15:37:55 20825 2

原创 linux下面的解压缩rar/tar/zip等文件的命令

(./configure --prefix=/xxx/xxx 即你要安装到哪里的目录)注:1、c-创建-create  2、v-复杂输出  3、f-文件-file 4、x-解压-extract 5、z-gz格式  66666、真不会用语法的就使用man...例如 man tar 他就会给你现实tar的一些参数操作 .ta...

2019-08-08 22:23:12 28637 1

原创 学习八:修改数据库配置、migration数据表迁移

数据库配置:在config.php下面的database.php中,默认是使用mysql数据库'default' => env('DB_CONNECTION', 'mysql'),不是在这里修改配置,在.evn文件里配置DB_CONNECTION=mysqlDB_HOST=127.0.0.1DB_PORT=3306DB_DATABASE=laravel54DB_U...

2019-08-07 12:50:50 1196

原创 学习七:laravel核心思想

容器的地址:app.php容器里的提供者容器里的门脸(使用:\门脸)(在此找到门脸下的方法)

2019-08-07 11:38:45 355

原创 学习六:laravel 和wangEditor3富文本编辑器的使用(单图片或多图片上传)

准备1、开启php.ini中的php_fileinfo扩展2、修改配置文件config/filesystems.php,其他默认就好。修改为:'default' => env('FILESYSTEM_DRIVER', 'public'),3、上传的照片放在storage/app/public下,但是上传的图片无法访问除 public 以外的目录,所以要设置上传文件的软链接...

2019-08-06 22:12:09 431

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除