游标(cursor)是可以从数据库检索结果集中每次提取一行记录的机制,游标的作用就是对结果集进行遍历,方便对记录进行操作。
特性
三种特性:
- 只读
不能更新它
- 非滚动
根据SQL语句确定顺序,不能向后获取记录和跳过记录
- 敏感/不敏感
敏感游标指向的是数据表,不敏感游标指向的则是临时数据表。(Mysql使用的是敏感游标)
声明游标
游标使用的变量必须在声明游标之前声明
项目中某个定时任务执行过程中出现死锁问题,具体错误如下:
1 | Error 1213: Deadlock found when trying to get lock; try restarting transaction |
检查一下表引擎 & 事务隔离级别
1 | mysql> show variables like '%storage_engine%'; |
有时候git项目比较大,git clone会因为各种原因中断,但是Git并不会断点续“传”再次clone又是重新来过,类似这种问题…让人很是苦恼
1 | $ error: RPC failed; HTTP 504 curl 22 The requested URL returned error: 504 Gateway Time-out |
git配置流
1 | $ git config --global http.lowSpeedLimit 0 // 最小速度 |
分块拉取
1 | $ git clone --depth=1 {repo} // 拉取最新的代码(最后一次commit) |
但这样会带来其他的小问题,就是拉下来的代码默认分支既不是master也不是其他分支 … 需要拉取完整的项目
1 | $ git fetch --unshallow // 拉取深层代码 |
Laravel框架中控制反转和依赖注入功能是怎么实现的?
其实控制反转和依赖注入是一种设计思想,它最早源于Java Spring框架设计中的机制,所以身边如果有做Java开发的小伙伴~简单聊聊就能明白许多。
依赖注入(Dependency Injection),通俗的解释是当我们构建对象时需要的参数,只要不是手动创建而是以实例对象的形式注入都可以称为依赖注入。
举个例子,一个小游戏中玩家可以创建不同的职业。
1 | // 职业接口 |
之前简单了解过Mysql的索引,今天来学习一下Mysql(InnoDB)的聚簇索引以及SQL为什么会产生回表查询?
都知道Mysql存储的数据结构是B+Tree,所以当查询数据的时候能最快找到叶子节点的检索方式时是最快的。比如:主键直接定位行记录,而有些查询需要先检索索引树找到叶子节点的主键值,再通过主键值定位行记录这种扫描2次索引树的方式就叫做回表查询。
如何确定SQL语句会不会造成回表查询?如下表:
1 | CREATE TABLE `users` ( |
2种查询方式:
tag:
缺失模块。
1、请确保node版本大于6.2
2、在博客根目录(注意不是yilia根目录)执行以下命令:
npm i hexo-generator-json-content --save
3、在根目录_config.yml里添加配置:
jsonContent:
meta: false
pages: false
posts:
title: true
date: true
path: true
text: false
raw: false
content: false
slug: false
updated: false
comments: false
link: false
permalink: false
excerpt: false
categories: false
tags: true