
MySQL
文章平均质量分 89
云原生AI百宝箱
行万里路,此处相逢,共话云原生A之道。偶逗趣事,明月清风,与君同坐。已出版《Kubernetes:云原生与容器编排实战》,将出版《A大模型原理与场景应用》
展开
-
mysql查看实时语句和慢sql
Mysql除了手动执行的语句,还有很多在后台由其他模块执行的语句,按理来说,那些由其他模块执行的语句是不能实时查看的,因为这个资源消耗特别的大,但是当我们实在需要查看实时sql语句的时候也不是做不到,需要手动开启一个日志开关。首先登陆mysql,然后执行发现这个Value是off,那么就说明实时记录可见我们不仅打开了的开关,而且设置日志输出方式为文件(如果设置的话,则日志结果会记录到名为的表中,这表的默认引擎都是CSV)。同时规定它的保存位置是。转载 2022-12-23 15:10:01 · 669 阅读 · 0 评论 -
MySQL执行过程以及顺序
MySQL执行过程以及顺序前言:MySQL在我们的开发中基本每天都要面对的,作为开发中的数据的来源,MySQL承担者存储数据和读写数据的职责。因为学习和了解MySQL是至关重要的,那么当我们在客户端发起一个sql到出现详细的查询数据,这其中究竟经历了什么样的过程?MySQL服务端是如何处理请求的,又是如何执行sql语句的?本篇博客将来探讨这个问题:MySQL体系结构MySQL体系结构连接层最上层是一些客户端和链接服务,主要完成一些类似于连接处理、授权认证、及相关的安全方案。服务器也会为安全接转载 2022-02-09 07:58:18 · 555 阅读 · 0 评论 -
MySQL:日期时间函数-日期时间计算和转换
目录MySQL 日期与时间方面的函数获得当前日期时间转换MySQL Str to Date (字符串转换为日期)函数:str_to_date(str, format)MySQL (日期、天数)转换函数:to_days(date), from_days(days)MySQL (时间、秒)转换函数:time_to_sec(time), sec_to_time(seconds)MySQL 拼凑日期、时间函数:makdedate(year,dayofyear), maketime(hou原创 2021-01-08 16:42:13 · 2362 阅读 · 0 评论 -
MySQL: 修改最大连接数
目录1. 查看MySQL的最大连接数2. 查看当前状态的连接数量3. 修改MySQL的连接数方法1:MySQL配置文件 my.ini 或 my.cnf方法2:set GLOBAL max_connections1. 查看MySQL的最大连接数show variables like '%max_connections%';max_connections默认值是151 该参数设置过小的最明显特征是出现”Too many connections”错误;2. 查看当前状态的连原创 2020-12-21 11:19:30 · 3200 阅读 · 0 评论 -
MySQL:使用mysqldump在Windows数据库定时备份
目录Windows备份MySQL数据库方法mysqldump在Windows数据库定时备份1.创建批处理文件dbBackup.bat2.创建定时计划运行mysql备份批处理3. 查看效果mysqldump命令解释Windows备份MySQL数据库方法WinRAR备份mysql mysqldump备份成sql文件 xcopy 直接复制文件形式备份数据库mysqldump在Windows数据库定时备份1.创建批处理文件dbBackup.batrem ==..原创 2020-11-04 16:52:56 · 1718 阅读 · 3 评论 -
Hibernate的事务的隔离性
事务的特性:原子性:指处于同一个事务中的多条语句是不可分割的。一致性:事务必须使数据库从一个一致性状态变换到另外一个一致性状态。隔离性:指多线程环境下,一个线程中的事务不能被其他线程中的事务打扰持久性:事务一旦提交,就应该被永久保存起来。如果不考虑事务的隔离性,会出现以下问题:脏读:指一个线程中的事务读取到了另外一个线程中未提交的数据。不可重复读(虚读):指一个线程中的事务读取到了另外一个线程中提...原创 2018-04-11 17:30:09 · 13358 阅读 · 0 评论 -
SQL:查找或删除重复行
本文讲述如何查找数据库里重复的行。这是初学者十分普遍遇到的问题。方法也很简单。这个问题还可以有其他演变,例如,如何查找“两字段重复的行”(#mysql IRC 频道最近问到的问题)如何查找重复行 第一步是定义什么样的行才是重复行。多数情况下很简单:它们某一列具有相同的值。本文采用这一定义,或许你对“重复”的定义比这复杂,你需要对sql做些修改。本文要用到的数据样本create tab...翻译 2018-04-18 07:27:07 · 26835 阅读 · 0 评论 -
SQL: select非group by的字段
在含有Group by子句的查询语句中,对select关键字后的目标列是否可总结出一些规律group by 后面的字段列表, 就是按照这些字段分类汇总因此select后面的字段列表, 除了上面的字段外,其余字段必须是聚集表达式.聚集表达式可以求和,求平均值,计数等等否则出错比如:select a,b,avg(c),sum(d) from 表 group by a,bSELECT p.id, p...原创 2018-07-02 08:24:00 · 29632 阅读 · 0 评论 -
MySQL大表优化方案
当MySQL单表记录数过大时,增删改查性能都会急剧下降,可以参考以下步骤来优化:单表优化除非单表数据未来会一直不断上涨,否则不要一开始就考虑拆分,拆分会带来逻辑、部署、运维的各种复杂度,一般以整型值为主的表在千万级以下,字符串为主的表在五百万以下是没有太大问题的。而事实上很多时候MySQL单表的性能依然有不少优化空间,甚至能正常支撑千万级以上的数据量:字段 尽量使用TINYINT...转载 2018-09-12 19:38:58 · 6091 阅读 · 0 评论 -
MySQL:主从复制跳过错误
mysql主从复制,经常会遇到错误而导致slave端复制中断,这个时候一般就需要人工干预,跳过错误才能继续。跳过错误有两种方式:1.跳过指定数量的事务mysql>slave stop;mysql>SET GLOBAL SQL_SLAVE_SKIP_COUNTER = 1 #跳过一个事务mysql>slave start2.修改mysql的配置...原创 2019-06-26 11:23:03 · 12500 阅读 · 0 评论 -
MySQL命名、设计及使用规范
数据库环境dev:开发环境,开发可读写,可修改表结构。开发人员可以修改表结构,可以随意修改其中的数据但是需要保证不影响其他开发同事。qa:测试环境,开发可读写,开发人员可以通过工具修改表结构。sim:模拟环境,开发可读写,发起上线请求时,会先在这个环境上进行预执行,这个环境也可供部署上线演练或压力测试使用。real:生产数据库从库(准实时同步),只读环境,不允许修改数据,不允许修改表结构,供线上问...转载 2018-04-03 08:14:46 · 14006 阅读 · 0 评论 -
MySQL避免插入重复记录:唯一性约束
mysql在存在主键冲突或者唯一键冲突的情况下,根据插入策略不同,一般有以下三种避免方法。1、insert ignore2、replace into3、insert on duplicate key update注意,除非表有一个PRIMARY KEY或UNIQUE索引,否则,使用以上三个语句没有意义,与使用单纯的INSERT INTO相同。一、insert ignoreinsert ignore...转载 2018-03-26 08:31:55 · 28695 阅读 · 0 评论 -
MySQL常用SQL(含复杂SQL查询)
1、复杂SQL查询1.1、单表查询(1)选择指定的列[例]查询全体学生的学号和姓名select Sno as 学号,Sname as 姓名 from student;select Sno,Sname from student;(2)查询全部列[例]查询全体学生的详细信息select * from student;(3)对查询后的指定列进行命名[...转载 2018-04-09 08:26:59 · 60794 阅读 · 9 评论 -
唯一约束和唯一索引区别
1.主键约束(PRIMARY KEY)1) 主键用于唯一地标识表中的每一条记录,可以定义一列或多列为主键。 2) 是不可能(或很难)更新. 3) 主键列上没有任何两行具有相同值(即重复值),不允许空(NULL).4) 主健可作外健,唯一索引不可;2.唯一性约束(UNIQUE)1) 唯一性约束用来限制不受主键约束的列上的数据的唯一性,用于作为访问某行的可选手段原创 2017-09-21 21:02:55 · 9010 阅读 · 0 评论 -
MySQL:优化SQL语句的步骤
本文主要介绍了MySQL性能分析以及explain的使用,包括:组合索引、慢查询分析、MYISAM和INNODB的锁定、MYSQL的事务配置项等索引类似大学图书馆建书目索引,可以提高数据检索的效率,降低数据库的IO成本。MySQL在300万条记录左右性能开始逐渐下降,虽然官方文档说500~800w记录,所以大数据量建立索引是非常有必要的。MySQL提供了Explain,用于显示SQ...原创 2017-11-01 14:49:28 · 13761 阅读 · 1 评论 -
使用位运算,处理数据库中的"多选状态标识"
引言【摘自其他文章】: 最近在对公司以前的一个项目进行调整时发现,数据库中有很多表示“多选状态标识”的字段。“多选状态标识”可能描述的并不十分准确,在这里用我们项目中的几个例子进行说明一下。 例一:表示某个商家是否支持多种会员卡打折(如有金卡、银卡、其他卡等),项目中的以往的做法是:在每条商家记录中为每种会员卡建立一个标志位字段。如图:原创 2017-07-12 20:43:26 · 22220 阅读 · 7 评论 -
SQL优化 - 避免使用 IN 和 NOT IN
WHY?IN 和 NOT IN 是比较常用的关键字,为什么要尽量避免呢?1、效率低 项目中遇到这么个情况:t1表 和 t2表 都是150w条数据,600M的样子,都不算大。但是这样一句查询 ↓select * from t1 where phone not in (select phone from t2)转载 2017-10-19 19:51:07 · 109135 阅读 · 15 评论 -
SQL索引建立原则和使用
前言SQL索引有两种,聚集索引和非聚集索引 聚集索引存储记录是物理上连续存在,而非聚集索引是逻辑上的连续,物理存储并不连续 字典的拼音查询法就是聚集索引,字典的部首查询就是一个非聚集索引. 聚集索引和非聚集索引的根本区别是表记录的排列顺序和与索引的排列顺序是否一致 聚集索引一个表只能有一个,而非聚集索引一个表可以存在多个。建立索引的原则:...原创 2017-12-01 18:52:21 · 29609 阅读 · 0 评论 -
MySQL查看锁表
锁状态mysql的锁有表锁和行锁,myisam最小锁为表锁,innodb最小锁为行锁,可以通过以下命令获取锁定次数、锁定造成其他线程等待次数,以及锁定等待时间信息。show status like '%lock%';如当Table_locks_waited与Table_locks_immediate的比值较大,则说明我们的表锁造成的阻塞比较严重,可能需要调整Query语句,或者更改存...原创 2017-11-24 20:54:07 · 23673 阅读 · 2 评论 -
Java, JDBC and MySQL类型对应关系
Java, JDBC and MySQL Types MySQL Connector/J is flexible in the way it handles conversions between MySQL data types and Java data types. In general, any MySQL data type can be converted to a ja...翻译 2017-12-14 20:18:33 · 15739 阅读 · 0 评论 -
表复制:SELECT INTO 和 INSERT INTO SELECT
INSERT INTO SELECT语句语句形式为:Insert into Table2(field1,field2,...) select value1,value2,... from Table1要求目标表Table2必须存在,由于目标表Table2已经存在,所以我们除了插入源表Table1的字段外,还可以插入常量注意(1)要求目标表Tabl原创 2018-01-09 20:26:21 · 26965 阅读 · 0 评论 -
MySQL防止重复插入相同记录 insert if not exists
在 MySQL 中,插入(insert)一条记录,经常需要检查这条记录是否已经存在,只有当记录不存在时才执行插入操作1. INSERT INTO IF EXISTS1.1.语法INSERT INTO TABLE (field1, field2, fieldn) SELECT 'field1', 'field2', 'fieldn'FROM DUALWHERE NOT ...原创 2018-03-21 17:23:07 · 75108 阅读 · 20 评论 -
MySQL 的存储过程 procedure 与 函数 function 的区别和使用方法
存储过程与函数的区别本质上没区别,执行的本质都一样。 只是函数有只能返回一个变量的限制。而存储过程可以返回多个。 函数是可以嵌入在sql中使用的,可以在select中调用,而存储过程要让sql的query 可以执行,需要把 mysql_real_connect 的最后一个参数设置为CLIENT_MULTI_STATEMENTS。 函数限制比较多,比如不能用临时表,只能用表变量.还有转载 2017-09-21 13:49:25 · 2823 阅读 · 0 评论