MySQL 中 KEY vs PRIMARY KEY vs UNIQUE KEY vs INDEX 的区别

对于标题中提出的问题,可以拆分来一步步解决。先来区分 MySQL 中的 KEY 和 INDEX ,之后问题就可以简化为 PRIMARY KEY,UNIQUE KEY 和 INDEX 的区别。而这三者也正好是索引的划分,主键索引,唯一索引和普通索引(INDEX)。 INDEX 可以用来提高数据库中查询数据的速度。INDEX 通常加在那些 JOIN, WHERE,和 ORDER BY 子句的列上。创建索引时,需要确保该索引是应用在 SQL 查询语句的条件(一般作为 WHERE 子句的条件)。实际上,索引也是一张表,该表保存了主键与索引字段,并指向实体表的记 Read more ...

2017-07-24 mysql , linux , key , index

树莓派中安装MySQL 5.7

最近用到 MySQL 5.7 把所有设备上的 MySQL 版本都升级到了最新,在 Ubuntu/Debian 上升级MySQL 5.7 的内容可以在之前的文章看到。现在记录一下树莓派中升级 MySQL 的步骤。使用到 MySQL 5.7 主要也是因为其支持的新数据类型,之前项目用到了,迁移的时候会遇到问题。在网上寻找解决方案的时候遇到了一个和我遭遇差不多的,需要使用到 MySQL 5.7+ 才支持的 JSON data-type。 在 respberry pi 官方的源中,只有稳定版的 5.5 MySQL,如果要用到最新的版本只能够自己手动编译更新安装 Read more ...

2017-07-23 MySQL , Linux , RespberryPi

每天学习一个命令:使用 rsync 增量同步备份文件

rsync 全名 Remote Sync,是类 UNIX 系统下的数据镜像备份工具。可以方便的实现本地,远程备份,rsync 提供了丰富的选项来控制其行为。rsync 优于其他工具的重要一点就是支持增量备份。 rsync - a fast, versatile, remote (and local) file-copying tool rsync 是一个功能非常强大的工具,其命令也有很多功能选项,它的特性如下: 可以保持文件原来的权限、时间、所有者、组信息、软硬链接等等 可以从远程或者本地镜像保存整个目录树和文件系统 无须特殊 Read more ...

2017-07-22 linux , rsync , scp , sync , command

终端复用工具 Tmux 使用介绍

Tmux 是一个很棒的终端复用工具,和 screen 命令类似,但是 Tmux 终极的分屏功能要比 screen 强大很多,当然入门也比 screen 要高很多。如果你长时间在终端进行编程或者操作,或者你陷入无数的 Tab 而无法自拔,那么你应该需要开始了解一些 Tmux 的基本使用。 本文会从如下几个方面对 Tmux 进行介绍: Tmux 基本使用 Tmux 的基本模块 Windows Panes Sessions Tmux 主要包括以下几个模块: session Read more ...

2017-07-21 tmux , linux , command , screen , terminal

将 MySQL 升级到 5.7

这些天折腾 Django 的时候用到了 MySQL,然而本地和VPS 上使用的版本不一致,本地使用了 5.7 版本,而 VPS 上使用了 5.5 的老版本,在数据迁移的时候遇到了 5.5 版本下不支持 DATETIME(6) 这样的数据类型。 DATETIME(6) 用来保存精确到微秒的时间。 环境: 系统:Debian 7, 按道理 Ubuntu/Debian 系应该都可以 无奈只能升级 MySQL 到 5.7 , 结果也比较顺利,官方有很详细 的升级说明: wget http://dev.mysql.com/get/mysql-apt-con Read more ...

2017-07-20 MySQL , Linux

Java 查漏补缺之 class

Java 程序在运行时,Java 运行时系统一直对所有的对象进行所谓的运行时类型标识。Class 类封装一个对象和接口运行时的状态,当装载类时,Class 类型的对象自动创建。 Class 没有公共构造方法。Class 对象是在加载类时由 Java 虚拟机以及通过调用类加载器中的 defineClass 方法自动构造的,因此不能显式地声明一个 Class 对象。 虚拟机为每种类型管理一个独一无二的 Class 对象。也就是说,每个类(型)都有一个 Class 对象。运行程序时,Java 虚拟机 (JVM) 首先检查是否所要加载的类对应的 Class Read more ...

2017-07-17 java , linux , class , reflection

Docker 入门

Docker 是一个能够把开发环境的应用程序自动部署到容器的开源引擎。该引擎的目标是提供一个轻量、快速的环境,能够运行开发者的程序,并方便高效地将程序从开发者的笔记本部署到测试环境,然后再部署到生产环境。 Docker 是一个开源的应用容器引擎,基于 Go 语言 并遵从 Apache2.0 协议开源。 Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。 容器是完全使用沙箱机制,相互之间不会有任何接口,更重要的是容器性能开销极低。 Docker 使用客户端 - Read more ...

2017-07-16 docker , linux , 容器 , 虚拟化

Google Guava 库学习笔记

Guava 是 Google 开源的 Java 核心类库,包含了 Java 开发中众多的核心功能,其中最著名最好用的也就是合集和缓存相关的工具了。 Guava 有很多学习材料,比如官方 Wiki https://github.com/google/guava/wiki 源码包的简单说明:   com.google.common.annotations:普通注解类型。   com.google.common.base:基本工具类库和接口。   com.google.common.cache:缓存工具包,非常简单易用且功能强大的 JVM 内缓 Read more ...

2017-07-13 google , guava , java , java-lib , lib , utils

Spring MVC 处理文件上传

Spring MVC 处理文件上传 添加Maven依赖 <dependency> <groupId>commons-io</groupId> <artifactId>commons-io</artifactId> <version>2.4</version> </dependency> <dependency> <groupId>commons-fileupload</groupId> &l Read more ...

2017-07-11 SpringMVC , Java , Web , File

Maven 插件学习之:Versions maven plugin 版本管理插件

Versions Plugin 该插件用于需要管理项目 用来设置版本号 mvn versions:set -DnewVersion=1.0.1 如果需要回滚 mvn versions:revert 确认则使用 mvn versions:commit reference http://www.mojohaus.org/versions-maven-plugin/index.html Read more ...

2017-07-09 maven , versions , maven-plugin

最近文章

  • 利用 mise 替换 asdf 的迁移方案
  • Field Theory CLI:把 X Bookmarks 同步到本地,变成可搜索的个人知识库
  • 在 OpenClaw 中配置 Longbridge CLI 与 Skill 打造对话式量化交易工作流 最近我一直在折腾自己的投资工作流,想把 AI Agent 和真实的行情、持仓、交易动作接到一起。手里一边是 [[Longbridge]] 账户,一边是 [[OpenClaw]] 这类可以扩展 Skill 的开源 Agent,单看都不缺能力,问题是它们原本不在一个工作界面里。查行情要切 App,下单要切网页,想做一点自动化分析还得自己补脚本。直到我把 Longbridge 官方的 longbridge-terminal 和 OpenClaw 里的 Longbridge Skill 接上,这套东西才终于顺了起来。现在我可以直接在终端里问 AI 一句话,让它去查报价、看持仓、整理数据,必要的时候再把下单命令准备好。这篇就把我自己跑通的过程和一些实际感受整理下来。
  • CLIProxyAPI 把 Claude Code、Gemini CLI、Codex 订阅包装成统一 API 的开源神器 最近在折腾自己的 AI 工具链时,我遇到了一个非常现实的痛点。手里同时握着 [[Claude]] Pro、ChatGPT Plus、Gemini Advanced 这几个订阅,每次想在自己的脚本或小工具里调用它们的能力,都只能望洋兴叹——订阅账号给的是网页端或 CLI 工具的使用权,而不是 API Key。如果想走 API 路径,就得额外付一次费,而且 API 的定价往往比订阅贵得多。于是我一直在找一个能把订阅账号的额度转化为 API 调用能力的方案,直到最近发现了 [[CLIProxyAPI]] 这个项目。今天就聊聊这个工具到底解决了什么问题。
  • LM Studio:在本地运行大语言模型的最佳桌面工具 自从各类大语言模型开始开源以来,我就一直在尝试在本地运行它们。早期折腾 [[llama.cpp]] 的时候,需要手动编译、手动下载模型权重、在命令行里敲参数,对于非技术背景的用户来说门槛相当高。直到我发现了 [[LM Studio]],才算是真正体验到了”把 AI 装进自己电脑”的顺畅感。用它运行本地模型,就像在 App Store 下载一个 App 一样自然。