Mysql
文章平均质量分 58
Mysql
BasicLab基础架构实验室
本人深耕基础架构领域,曾在国内500强大厂研发企业级百亿量级吞吐中间件,擅长Java语言、Go语言、Python语言、C语言、NodeJS、Web、Linux、深度学习、大数据、云原生等
展开
-
Windows下安装MySQL详细教程
Windows下安装MySQL详细教程 1、安装包下载 2、安装教程 (1)配置环境变量 (2)生成data文件 (3)安装MySQL (4)启动服务 (5)登录MySQL (6)查询用户密码 (7)设置修改用户密码 (8)退出 3、解决问题 1、安装包下载安装包下载地址:https://dev.mysql.com/downloads/mysql/点击下载之后,可以选择注册....原创 2021-11-24 17:15:44 · 814 阅读 · 0 评论 -
数据库隔离级别有哪些,各自的含义是什么,MYSQL默认的隔离级别是是什么。
一、什么是事务事务是应用程序中一系列严密的操作,所有操作必须成功完成,否则在每个操作中所作的所有更改都会被撤消。也就是事务具有原子性,一个事务中的一系列的操作要么全部成功,要么一个都不做。事务的结束有两种,当事务中的所以步骤全部成功执行时,事务提交。如果其中一个步骤失败,将发生回滚操作,撤消撤消之前到事务开始时的所以操作。二、事务的四个特性事务具有四个特征:原子性( Atomicity )、一致性( Consistency )、隔离性( Isolation )和持续性( Durability转载 2021-08-26 10:06:56 · 327 阅读 · 0 评论 -
Mysql 纵表转换为横表
1、数据库的表可以分为两类:纵表与横表纵表:表中字段与字段的值采用key——value形式,即表中定义两个字段,其中一个字段里存放的是字段名称,另一个字段中存放的是这个字段名称代表的字段的值。例如,下面这张project_audit_log表,其中date_type字段表示为什么时间类型,后面的date_value表示这个时间的值横表:所有的字段都在表结构中定义出来。如果把上面表的date_type与date_value字段转换为shelve_date,offShelve_date,adva原创 2021-08-02 14:54:51 · 11065 阅读 · 15 评论 -
Mysql 语句操作索引SQL语句
最近项目中需要新增唯一索引,特此记录便于日后查阅。一、使用ALTER TABLE语句创建索引语法如下:1.PRIMARYKEY(主键索引) mysql>ALTERTABLE`table_name`ADDPRIMARYKEY (`column`)2.UNIQUE(唯一索引) mysql>ALTERTABLE`table_name`ADDUNIQUE (`column` ...原创 2021-07-31 14:53:51 · 3174 阅读 · 0 评论 -
Mysql 拼接多个字段作为查询条件查询方法
最近工作中需要把多个字段拼接作为查询条件查询,特此记录便于日后查阅。<select id="listByProgramCodeList" resultType="com.galanz.iot.content.restapi.model.po.RmProgramPo"> SELECT * FROM ( SELECT p.*, CONCAT_WS('#', p.content_code, p.content_version) mix_content_code原创 2021-07-27 16:45:57 · 4970 阅读 · 0 评论 -
Mysql 重置自增列的开始序号
最近项目中需要重置mysql表的自增序列号,特此记录便于日后查阅。ALTER TABLE TableName AUTO_INCREMENT = 5;注:代表重新从5开始(包括5)到此Mysql 重置自增列的开始序号介绍完成。原创 2021-07-16 16:37:17 · 1099 阅读 · 0 评论 -
Mysql 常见ALTER TABLE操作
删除列alter table table_name drop col_name;增加列(单列)alter table table_name add col_name col_type comment 'xxx';增加列(多列)alter table table_name add col_name col_type comment 'xxx', add col_name col_type(col_length) comment 'xxx';增加表字段并指明字段放置为第一列alter原创 2021-01-14 11:26:09 · 12450 阅读 · 1 评论 -
PostgreSQL(MySQL)插入操作传入值为空则设置默认值
1、mysql写法IFNULL(p1,p2),如果p1有值就是p1,如果p1是空,则值为p2<insert id="insertForeach" parameterType="java.util.List" > insert into user_message ( skip_id ) values <foreach col...原创 2019-12-28 06:13:35 · 5307 阅读 · 3 评论 -
PostgreSQL(MySQL)插入操作遇到唯一值重复时更新
1、mysql写法<insert id="insertOrUpdateNew"> insert into test (a,b,c) values (#{a},#{b},#{c}) on duplicate key update c = values(c)</insert> <inser...原创 2019-12-27 16:08:52 · 3034 阅读 · 0 评论 -
PostgreSQL(MySQL)联合唯一索引存在空值时唯一约束失效
问题:当Mysql中建立的联合索引, 只要索引中的某一列的值为空时(NULL),即便其他的字段完全相同,也不会引起唯一索引冲突。原因:Mysql官方文档中有这样的解释A UNIQUE index creates a constraint such that all values in the index must be distinct. An error occurs if y...原创 2019-12-27 15:52:54 · 2644 阅读 · 2 评论 -
Mysql的分表设计方法 (水平分表和垂直分表)
原文地址:https://blog.csdn.net/lw545034502/article/details/808502821,水平分表:例:QQ的登录表。假设QQ的用户有100亿,如果只有一张表,每个用户登录的时候数据库都要从这100亿中查找,会很慢很慢。如果将这一张表分成100份,每张表有1亿条,就小了很多,比如qq0,qq1,qq1...qq99表。用户登录的时候,可以将用户的...转载 2019-04-08 11:28:36 · 730 阅读 · 0 评论 -
mysql order by多个字段排序
原文地址:https://blog.csdn.net/suhiymof/article/details/79962247MySql Order By 多个字段 排序规则比如:如要根据ConfigID和MarketID来排序有如下语句: SELECT * FROM TABLE ORDER BY ConfigID, MarketID DESC;那么结果:分析:其...转载 2019-03-13 09:51:54 · 3263 阅读 · 1 评论 -
Java Mysql工具类封装
原文地址:https://www.cnblogs.com/FCWORLD/p/3401622.html最近突然想到在上家公司封装的Mysql工具类没有保存一份,感觉比较可惜,在网上找了一下,找到一个不错的Mysql工具类封装,在这里记录一下,便于日后查阅。1、数据库连接层MYSQL/** * 数据库连接层MYSQL * @author Administrator * */p...转载 2019-06-15 12:45:15 · 3100 阅读 · 3 评论 -
Centos7 Mysql集群主从搭建(包括单机搭建、单机主从搭建)
最近在工作中解决了一些Mysql主从集群相关的问题,本着每周进步一点点的态度将主从集群搭建的完整过程记录下来,特此记录便于日后查阅。一、Mysql简介MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,目前属于Oracle旗下产品。MySQL 是最流行的关系型数据库管理系统之一,在 WEB 应用方面,MySQL是最好的RDBMS(Relational Datab...原创 2019-07-07 16:36:13 · 3318 阅读 · 24 评论 -
Ids for this class must be manually assigned before calling save on String ID
Already read lots of questions about the same issue, but I still not be able to solve this problem.I need to have aStringprimary key on my database.import javax.persistence.Entity;import javax...原创 2019-08-02 09:53:04 · 371 阅读 · 0 评论 -
"hibernate_sequence" does not exist
org.postgresql.util.PSQLException: ERROR: relation "hibernate_sequence" does not exist Position: 17 at org.postgresql.core.v3.QueryExecutorImpl.receiveErrorResponse(QueryExecutorImpl.java:2062)...原创 2019-08-02 09:54:45 · 1431 阅读 · 0 评论 -
MySQL Join算法与调优白皮书(二)
上一篇文章(公众账号回复join可见)收到了老叶的反馈,希望Inside君可以分多次完成对于Join的讲解。其实Inside君已经尽力分多篇文章进行分析。无奈要说清楚Join真的是不太容易,所以有劳各位小伙伴们耐心看完吧。Inside君争取三到四次可以讲完MySQL的Join,最后也会毫不吝啬地放出全文的PDF的下载版本。 同时放上Inside君最爱的李宗盛大哥的歌——《山丘》,献给关注I...转载 2018-07-24 16:40:39 · 405 阅读 · 2 评论 -
MYSQL中TINYINT的取值范围
原文地址:https://blog.csdn.net/lysygyy/article/details/5983433在MySQL的数据类型中,Tinyint的取值范围是:带符号的范围是-128到127。无符号的范围是0到255(见官方《MySQL 5.1参考手册》http://dev.mysql.com/doc/refman/5.1/zh/column-types.html#numeri...转载 2019-03-10 17:16:58 · 20301 阅读 · 0 评论 -
Mysql百万级数据查询优化
原文地址:https://blog.csdn.net/qq_35472110/article/details/808323041.两种查询引擎查询速度(myIsam 引擎)InnoDB 中不保存表的具体行数,也就是说,执行select count(*) from table时,InnoDB要扫描一遍整个表来计算有多少行。MyISAM只要简单的读出保存好的行数即可。注意的是,当cou...转载 2018-12-11 15:52:54 · 582 阅读 · 0 评论 -
Mysql报错Packet for query is too large问题解决
原文地址:https://blog.csdn.net/qq_42093488/article/details/80468069Packet for query is too large (6071393 > 4194304). You can change this value on the server by setting the max_allowed_packet' variab...转载 2018-12-06 19:37:09 · 1336 阅读 · 3 评论 -
MySQL Order By实现原理分析和Filesort优化
在MySQL中的ORDER BY有两种排序实现方式:1、利用有序索引获取有序数据2、文件排序在使用explain分析查询的时候,利用有序索引获取有序数据显示Using index。而文件排序显示Using filesort。1.利用有序索引获取有序数据 取出满足过滤条件作为排序条件的字段,以及可以直接定位到行数据的行指针信息,在 Sort Buffer 中进行...转载 2018-07-25 09:54:56 · 286 阅读 · 0 评论 -
间隙锁详解
20.3.5 间隙锁(Next-Key锁)《深入浅出MySQL——数据库开发、优化与管理维护》从数据库的基础、开发、优化、管理4方面对MySQL进行了详细的介绍,其中每一部分都独立成篇,每一篇又包括多个章节。本书面向实用,内容覆盖广泛,讲解由浅入深,适合于各个层次的读者。本文介绍了InnoDB锁。20.3.5 间隙锁(Next-Key锁)当我们用范围条件而不是相等条件检索数据,并请求共享或排他锁时...原创 2018-07-13 14:32:16 · 15219 阅读 · 8 评论 -
数据库事务的四大特性以及事务的隔离级别
本篇讲诉数据库中事务的四大特性(ACID),并且将会详细地说明事务的隔离级别。 如果一个数据库声称支持事务的操作,那么该数据库必须要具备以下四个特性:⑴ 原子性(Atomicity) 原子性是指事务包含的所有操作要么全部成功,要么全部失败回滚,这和前面两篇博客介绍事务的功能是一样的概念,因此事务的操作如果成功就必须要完全应用到数据库,如果操作失败则不能对数据库有任何影响。⑵ 一致性(Consi...原创 2018-07-13 14:18:33 · 159 阅读 · 0 评论 -
MySQL JOIN原理
先看一下实验的两张表:表comments,总行数28856表comments_for,总行数57,comments_id是有索引的,ID列为主键。以上两张表是我们测试的基础,然后看一下索引,comments_for这个表comments_id是有索引的,ID为主键。最近被公司某一开发问道JOIN了MySQL JOIN的问题,细数之下发下我对MySQL JOIN的理解并不是很...原创 2018-07-24 16:41:47 · 353 阅读 · 0 评论 -
MySQL高级配置
参考文章:http://www.jb51.net/article/47419.htm 1、配置MySQL的原则(1)一次只改变一个设置!这是测试改变是否有益的唯一方法。大多数配置能在运行时使用SET GLOBAL改变。这是非常便捷的方法它能使你在出问题后快速撤销变更。但是,要永久生效你需要在配置文件里做出改动。(2)一个变更即使重启了MySQL也没起作用?请确定你使用了正确的配...转载 2018-07-24 14:55:27 · 1219 阅读 · 0 评论 -
mysql共享锁与排他锁
mysql锁机制分为表级锁和行级锁,本文就和大家分享一下我对mysql中行级锁中的共享锁与排他锁进行分享交流。共享锁又称为读锁,简称S锁,顾名思义,共享锁就是多个事务对于同一数据可以共享一把锁,都能访问到数据,但是只能读不能修改。排他锁又称为写锁,简称X锁,顾名思义,排他锁就是不能与其他所并存,如一个事务获取了一个数据行的排他锁,其他事务就不能再获取该行的其他锁,包括共享锁和排他锁,但是获...转载 2018-07-23 19:27:20 · 171 阅读 · 0 评论 -
MySQL优化之BTree索引使用规则
MySQL优化之BTree索引使用规则从一道题开始分析:假设某个表有一个联合索引(c1,c2,c3,c4)一下——只能使用该联合索引的c1,c2,c3部分A where c1=x and c2=x and c4>x and c3=xB where c1=x and c2=x and c4=x order by c3C where c1=x and c4= x group by c3,c2D ...转载 2018-07-12 11:04:24 · 612 阅读 · 1 评论 -
mysql explain执行计划详解
1)、id列数字越大越先执行,如果说数字一样大,那么就从上往下依次执行,id列为null的就表是这是一个结果集,不需要使用它来进行查询。 2)、select_type列常见的有:A:simple:表示不需要union操作或者不包含子查询的简单select查询。有连接查询时,外层的查询为simple,且只有一个B:primary:一个需要union操作或者含有子查询的select,位于最外层的单位...转载 2018-07-12 10:41:10 · 439 阅读 · 0 评论 -
MySQL slow_query_log慢查询日志配置详解
slow_query_log是记录SQL执行超过一定时间的参数。slow query log相关变量1、命令行参数: --log-slow-queries 指定日志文件存放位置,可以为空,系统会给一个缺省的文件host_name-slow.log2、系统变量 log_slow_queries 指定日志文件存放位置,可以为空,系统会给一个缺省的文件...原创 2018-07-14 08:37:16 · 14103 阅读 · 0 评论 -
解决: ERROR JDBCExceptionReporter:78 - Could not retrieve transation read-only status server
环境: mysql+java+hibernate问题描述: java代码在开始事务后,先做了一个查询,再insert,此时会报: ERROR JDBCExceptionReporter:78 - Could not retrieve transation read-only status server问题解决过程: 查看mysql的事物隔离级别 ...转载 2018-07-21 23:28:14 · 657 阅读 · 0 评论 -
【java】多线程批量拆分List导入数据库
原文地址:https://blog.csdn.net/kisscatforever/article/details/79817039一、前言前两天做了一个导入的功能,导入开始的时候非常慢,导入2w条数据要1分多钟,后来一点一点的优化,从直接把list怼进Mysql中,到分配把list导入Mysql中,到多线程把list导入Mysql中。时间是一点一点的变少了。非常的爽,最后变成了10s以内...转载 2018-12-13 18:16:38 · 857 阅读 · 0 评论 -
mysql添加表注释、字段注释、查看与修改注释
1 创建表的时候写注释create table test1( field_name int comment '字段的注释') comment='表的注释';2 修改表的注释alter table test1 comment '修改后的表的注释';3 修改字段的注释alter table test1 modify column field_name int comment ...转载 2018-12-06 15:21:56 · 1004 阅读 · 0 评论 -
MySql 查询以逗号分隔的字符串的方法(正则)
原文地址:https://blog.csdn.net/hechurui/article/details/50550468现数据库表中某个字段保存的值为“01,07,08”,需要sql去查询下表中到相应的名称:NND,一点思路都木有,想了老久,突然想到了正则表达式....!啊哈哈哈.....1、最开始想到的是find_in_set()...查询字段中包含01,07,08的记录:...转载 2018-11-29 20:10:17 · 3969 阅读 · 1 评论 -
MySQL replace函数替换字符串语句的用法(mysql字符串替换)
原文地址:https://www.cnblogs.com/kenshinobiy/p/5822698.htmlMySQL replace函数我们经常用到,下面就为您详细介绍MySQL replace函数的用法,希望对您学习MySQL replace函数方面能有所启迪。最近在研究CMS,在数据转换的时候需要用到mysql的MySQL replace函数,这里简单介绍一下。比如你要将表 t...转载 2018-11-29 20:06:33 · 11617 阅读 · 0 评论 -
Mysql order by与limit混用陷阱
在Mysql中我们常常用order by来进行排序,使用limit来进行分页,当需要先排序后分页时我们往往使用类似的写法select * from 表名 order by 排序字段 limt M,N。但是这种写法却隐藏着较深的使用陷阱。在排序字段有数据重复的情况下,会很容易出现排序结果与预期不一致的问题。比如现在有一张user表,表结构及数据如下:现在想根据创建时间升序查询user...原创 2018-11-02 14:32:42 · 251 阅读 · 1 评论 -
MySQL索引原理以及查询优化
原文地址:https://www.cnblogs.com/bypp/p/7755307.html一、介绍1.什么是索引?一般的应用系统,读写比例在10:1左右,而且插入操作和一般的更新操作很少出现性能问题,在生产环境中,我们遇到最多的,也是最容易出问题的,还是一些复杂的查询操作,因此对查询语句的优化显然是重中之重。说起加速查询,就不得不提到索引了。2.为什么要有索引呢?索引在M...转载 2018-06-28 09:42:22 · 336 阅读 · 0 评论 -
【MySQL】基于MySQL的SQL优化——对group by以及limit的优化
原文地址:https://blog.csdn.net/tanglei6636/article/details/52861453group by:通过下面一条 语句来了解有关group by的优化。SELECT a.first_name,a.last_name,COUNT(*) FROM film_actor fa INNER JOIN actor a USING(actor_id) ...转载 2018-06-28 09:44:05 · 462 阅读 · 0 评论 -
SpringBoot:spring boot使用Druid和监控配置
原文来自:http://www.vxzsk.com/407.htmlDruid是Java语言中最好的数据库连接池,并且能够提供强大的监控和扩展功能。Spring Boot默认的数据源是:org.apache.tomcat.jdbc.pool.DataSource业界把 Druid 和 HikariCP 做对比后,虽说 HikariCP 的性能比 Druid 高,但是因为 Druid 包...转载 2018-07-29 10:33:14 · 1199 阅读 · 0 评论 -
MYSQL查询语句优化
mysql的性能优化包罗甚广: 索引优化,查询优化,查询缓存,服务器设置优化,操作系统和硬件优化,应用层面优化(web服务器,缓存)等等。这里的记录的优化技巧更适用于开发人员,都是从网络上收集和自己整理的,主要是查询语句上面的优化,其它层面的优化技巧在此不做记录。查询的开销指标:执行时间 检查的行数 返回的行数建立索引的几个准则:1、合理的建立索引能够加速数据读取效率,不合理的建立索引反而会拖慢数...转载 2018-07-12 10:27:44 · 411 阅读 · 0 评论