2-MySQL 配置参数之 thread cache MySQL里面为了提高客户端请求创建连接过程的性能,提供了一个连接池也就是 Thread_Cache 池,将空闲的连接线程放在连接池中,而不是立即销毁.这样的好处就是,当又有一个新的请求的时候,mysql不会立即去创建连接 线程,而是先去 Thread_Cache 中去查找空闲的连接线程,如果存在则直接使用,不存在才创建新的连接线程. 有关Thread_Cache在MySQL有几个重要的参数,简单 2021-03-06 MySQL #MySQL
MySQL 优化思路和案例 MYSQL 优化思路MySQL 存储千亿级的数据,是一项非常大的挑战。MySQL单表可以存储10亿级的数据,但是这个时候性能非常差。很多实验证明,MySQL单表容量在500万左右性能处于最佳状态。 常用的 MySQL 优化顺序是: 第一优化 sql 语句和索引; 第二加缓存 memcached,redis; 第三主从复制或主主复制,读写分离,可以在应用层做,效率高,也可以用三方工具,第三方工 2021-03-06 MySQL #MySQL
MySQL 命令之 CAST WHEN 前言在MySQL中有两个地方用到了关键字case: Flow Control Functions - CASE Operator Flow Control Statements - CASE Statement 在CASE Statement中不能有ELSE NULL子句,并且以END CASE结尾,而不是END。 CASE Statement主要用在复合语句中,比如存储过程;而CASE Op 2021-03-06 MySQL #MySQL
MySQL 命令之 EXPLAIN 执行计划 https://dev.mysql.com/doc/refman/5.7/en/explain-output.html 什么是执行计划?执行计划 是指一条 SQL 语句在经过 MySQL 查询优化器 的优化会后,具体的执行方式。 执行计划通常用于 SQL 性能分析、优化等场景。通过 EXPLAIN 的结果,可以了解到如数据表的查询顺序、数据查询操作的操作类型、哪些索引可以 被命中、哪些索引 2021-03-06 MySQL #MySQL
MySQL 命令之 SHOW STATUS SHOW STATUS 命令概述在 MySQL 中,SHOW STATUS 命令是一个强大的工具,用于显示 MySQL 服务器当前性能和状态的信息。这个命令会显示每个服务器变量的名字和值,状态变量是只读的。 SHOW STATUS 命令的使用你可以在 MySQL 客户端下运行 SHOW STATUS 或者在命令行运用 mysqladmin extended-status 来查看这些变量。 如果 2021-03-06 MySQL #MySQL
MySQL 命令之 WITH AS 公共表达式 1、WITH AS在 MySQL 中,WITH AS 用于创建一个临时的命名查询(也称为Common Table Expressions,CTE),这些子查询可以在后续的查询中引用,从而简化查询语句的编写。语法如下 12345678910WITH cte_name_1 [(column_name1, column_name2, ...)] AS ( -- CTE查询定义 SELECT 2021-03-06 MySQL #MySQL
MySQL 命令之 WITH Recursive 递归查询 with(Common Table Expressions/CTE) 在 MySQL 中被称为公共表达式,可以作为一个临时表然后在其他结构中调用.如果是自身调用那么就是后面讲的递归. 理论原理 MySQL with Recursive是什么? MySQL with Recursive是一种基于递归思想的 MySQL 查询方式,可以实现对数据的递归查询和处理,返回符合条件的数据。在 2021-03-06 MySQL #MySQL
MySQL 命令之插入重复数据 title: MySQL 之重复插入时更新(ON DUPLICATE KEY UPDATE,和REPLACD)忽略(IGONRE) – LePengcategory: defaulttags: 无created_at: 2022-07-12 17:02:21original_url: http://10.117.49.91/?p=86 mysql中常用的三种插入数据的语句: 123inser 2021-03-06 MySQL #MySQL
MySQL 命令之数据去重只保留一条数据 创建一张测试表123456create table poi (id bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'id',poi_id bigint(20) NOT NULL COMMENT 'poi_id', PRIMARY KEY (`id`)); 插入测试数据1insert into poi (poi_id) values (10),(10),(1 2021-03-06 MySQL #MySQL
MySQL 命令之查看和设置服务器配置和状态 MySQL的选项文件(my.cnf)用于配置MySQL服务器,配置选项官方叫变量(Varialbes),但其实叫参数也是可以的,只要明白这俩是同一个东西就可以了。 MySQL的变量分为以下两种: 系统变量:配置MySQL服务器的运行环境,可以用show variables查看 状态变量:监控MySQL服务器的运行状态,可以用show status查看 不同的变量按其作用域的不同又可以分为以下两 2021-03-06 MySQL #MySQL
MySQL 命令分类 SQL命令分为四种,分别为:DDL,DML,DCL,TCL。 DDL(Data Definition Language - 数据定义语言)DDL 主要操作数据库、表,主要包括: create:创建数据库及其对象(包括新建表,索引,视图,存储过程等)。 alter: 改变现有数据库的结构(包括: 修改索引,修改字段类型,删除索引)。 truncate: 删除表中所有记录,并删除已分配的空间。 2021-03-06 MySQL #MySQL
MySQL 命令分类之 DCL 1. 用户管理1.1 查询用户1234567# 1. 切换到mysql数据库USE mysql;# 2. 查询user表SELECT * FROM USER;# * 通配符: % 表示可以在任意主机使用用户登录数据库 1.2 创建用户1CREATE USER '用户名'@'主机名' IDENTIFIED BY '密码'; 1.3 修改用户密码12# 其中主机名表示创建的用户使用的IP地址, 2021-03-06 MySQL #MySQL
MySQL 命令分类之 DDL 数据库创建数据库12345678# 语法create database [数据库名] character set [字符编码];# 创建一个数据库,名字是study1 create database study1; # 创建数据库study2,指定字符编码为gbk: create database study2 character set gbk; 查看数据库12345# 显示当前所有的数 2021-03-06 MySQL #MySQL
MySQL 和 MariaDB 一些限制和BUG 字段属性限制1、不支持 CHARACTER SET 语法 12MariaDB [test]> create table t1(id int,name varchar(10) CHARACTER SET utf8) engine=Columnstore;ERROR 1178 (42000): The storage engine for the table doesn’t support Th 2021-03-06 MySQL #MySQL
MySQL 常见错误之 Aborted connection xxx 报错示例1234567891011# MySQL 日志报错2021-09-16T16:23:01.482696+08:00 369 [Note] Aborted connection 369 to db: 'vul_db' user: 'vul_user' host: '10.172.xx.xx' (Got timeout reading communication packets)# SQLAl 2021-03-06 MySQL #MySQL
MySQL 怎么查看死锁 在MySQL中,可以通过以下方式查看数据库死锁: 使用 SHOW ENGINE INNODB STATUS 命令查看 InnoDB 引擎的状态信息,包括最近发生的死锁情况。找到”LATEST DETECTED DEADLOCK”部分,如果有死锁发生,会显示相关的信息。 查询 information_schema.INNODB_TRX、information_schema.INNODB_LO 2021-03-06 MySQL #MySQL
Python ksycopg2 使用 KING BASE 官方文档:https://help.kingbase.com.cn/v8/development/client-interfaces/python/python-1.html 1、简介1.1、python 数据库驱动说明ksycopg2 是 Python 编程语言的 KingbaseES 数据库适配器。它的主要特点是 Python DB API 2.0 规范的完整实现和线程安全。 ksycop 2021-03-06 KING BASE #KING BASE
RabbitMQ 介绍 MQ什么是MQMQ(message queue),从字面意思上看,本质是个队列,拥有队列的特点FIFO 先入先出,只不过队列中存放的内容是 message。 MQ 还是一种跨进程的通信机制,用于上下游传递消息。在互联网架构中,MQ 是一种常见的上下游“逻辑解耦+物理解耦”的消息通信服务。使用了 MQ 之后,消息发送上游只需要依赖 MQ,不 用依赖其他服务。 为什么要用MQ 流量消峰。举个例子,如果 2021-03-06 RabbitMQ #RabbitMQ
RabbitMQ 安装(Linux 安装) erlang 安装 下载rabbitmq-server-3.8.8-1.el7.noarch.rpm GitHub:https://github.com/rabbitmq/rabbitmq-server/releases/tag/v3.8.8 加载下载:https://packagecloud.io/rabbitmq/rabbitmq-server/packages/el/7/rabbitmq- 2021-03-06 RabbitMQ #RabbitMQ
RabbitMQ 安装(docker 安装) Docker 安装 官网:https://registry.hub.docker.com/_/rabbitmq/ docker 命令如下 1docker run -id --name myrabbit -e RABBITMQ_DEFAULT_USER=admin -e RABBITMQ_DEFAULT_PASS=123456 -p 15672:15672 rabbitmq:3-managemen 2021-03-06 RabbitMQ #RabbitMQ