0%

MYSQL学习整理(一)

注意:以下整理基于mysql,有些语法在sql sever和oracle中会有不同

1
2
3
4
5
6
7
8
9
10
11
12
13
14
# 启动mysql
mysql.server start
# 登录mysql
mysql -u root -p
# 退出mysql
mysql.server stop
# 查看数据库
show databases;
# 进入某个表
use test_db
# 查看表
show tables;
# 查看表结构
desc Persons;
阅读全文 »

索引相关知识

  • 现有的索引方法主要分为三种:哈希索引,B 树或者 B+树索引,bitmap 索引。
  • 哈希索引
    • 此方法在开始阶段,每个记录的插入只消耗较小的 CPU 时间。但是随着记录数目的增加,由于哈希冲突链长度的不断增加,之后的插入操作将会花费大量的时间去查找哈希表中的对应存储位置。
    • 只支持单域的相等性查找,不支持区间范围查找
    • 为组合字段建立索引的时候,针对部分索引字段的查询是不能支持的
  • B 树或者 B+树索引
    • 许多传统关系型数据库都是采用 B 树或 B+树索引方法,比如 MySQL
    • B 树和 B+树都是多路平衡查找树,他们的特点是可以保证索引键值的有序性并且能够在对数 时间复杂度内进行插入操作和查询操作
    • B+树与 B 树的不同在于 B+树的非叶子节点存储的都是关键字没有数据记录,数据记录都存在叶子节点上。所有的关键字都会出现在叶子节点当中,并且叶子节点会存储指向下一个叶子节点的指针,这样就可以对叶子节点的数据顺序地进行有序访问了
    • 当一个节点包含的关键字满了的时候需要分裂成为两个节点,这 涉及到大量数据的拷贝工作,所以 B 树或 B+ 树在数据量非常大的时候并不能支持快 速实时的索引插入、查询操作
    • https://www.cnblogs.com/nullzx/p/8729425.html
阅读全文 »

非常有趣的每日一题之665. 非递减数列

给你一个长度为 n 的整数数组,请你判断在 最多 改变 1 个元素的情况下,该数组能否变成一个非递减数列。
我们是这样定义一个非递减数列的: 对于数组中所有的 i (0 <= i <= n-2),总满足 nums[i] <= nums[i + 1]。

示例 1:

1
2
3
输入: nums = [4,2,3]
输出: true
解释: 你可以通过把第一个4变成1来使得它成为一个非递减数列。

示例 2:

1
2
3
输入: nums = [4,2,1]
输出: false
解释: 你不能在只改变一个元素的情况下将其变为非递减数列。

说明:

  • 1 <= n <= 10 ^ 4
  • - 10 ^ 5 <= nums[i] <= 10 ^ 5
阅读全文 »

mac+hexo+github搭建个人博客

安装node.js

从官网下载对应版本进行下载:https://nodejs.org/en/

安装git并进行相应配置

网上有很多大家写的教程,大家可以自行搜索进行一下配置。
在这里也贴上一个csdn上的配置教程:
http://blog.csdn.net/xiaohanluo/article/details/53214933

安装hexo

在终端执行如下命令进行hexo的安装

1
$ npm install -g hexo-cli

如果出现错误:rollbackFailedOptional: verb npm-session 6ba5c1dbd2f5df8a,可以通过以下方式解决

1
2
3
4
5
6
7
# 去掉npm代理:
sudo npm config rm proxy
sudo npm config rm https-proxy
# 修改npm的资源镜像链接:
npm config set registry http://registry.npm.taobao.org
# 查看是否修改成功:
npm config get registry

再执行 npm install -g hexo-cli 就可以了

解决方法来自:https://blog.csdn.net/mmm654/article/details/106184630/

阅读全文 »