
mysql
文章平均质量分 74
木鱼-
过一天就要进步一点,而且不知道也会更多,还有每天都会忘记一点。所以每天还得做功课
展开
-
数据库覆盖索引和回表
索引是高效找到行的一个方法,但是一般数据库也能使用索引找到一个列的数据,因此它 不必读取整个行。毕竟索引叶子节点存储了它们索引的数据;当能通过读取索引就可以得到想要的数 据,那就不需要读取行了。一个索引包含了满足查询结果的数据就叫做覆盖索引。非聚簇复合索引的一种形式,它包括在查询里的SELECTJOIN和WHERE子句用到的所有列 (即建索引的字段正好是覆盖查询条件中所涉及的字段)。简单说就是, 索引列+主键 包含SELECT到FROM之间查询的列。覆盖索引长什么样子。索引列+主键#斯降之前的索引。原创 2025-02-11 09:42:05 · 612 阅读 · 0 评论 -
索引优化全攻略:提升排序、GROUP BY与分页性能
索引是高效找到行的一个方法,但是一般数据库也能使用索引找到一个列的数据,因此它 不必读取整个行。毕竟索引叶子节点存储了它们索引的数据;当能通过读取索引就可以得到想要的数 据,那就不需要读取行了。一个索引包含了满足查询结果的数据就叫做覆盖索引。非聚簇复合索引的一种形式,它包括在查询里的SELECTJOIN和WHERE子句用到的所有列 (即建索引的字段正好是覆盖查询条件中所涉及的字段)。简单说就是, 索引列+主键 包含SELECT到FROM之间查询的列。覆盖索引长什么样子。索引列+主键#斯降之前的索引。转载 2025-02-09 10:48:39 · 24 阅读 · 0 评论 -
雪花算法解决时钟回拨问题
1位是符号位,也就是最高位,始终是0,没有任何意义,因为要是唯一计算机二进制补码中就是负数,0才是正数。41位是时间戳,具体到毫秒,41位的二进制可以使用69年,因为时间理论上永恒递增,所以根据这个排序是可以的。10位是机器标识,可以全部用作机器ID,也可以用来标识机房ID + 机器ID,10位最多可以表示1024台机器。12位是计数序列号,也就是同一台机器上同一时间,理论上还可以同时生成不同的ID,12位的序列号能够区分出4096个ID。转载 2023-10-16 14:58:17 · 887 阅读 · 0 评论 -
UUID的弊端以及雪花算法
系统唯一ID是我们在设计一个系统的时候常常会遇见的问题,也常常为这个问题而纠结。这篇文章就是给各位看官提供一个生成分布式唯一全局id生成方案的思路,希望能帮助到大家。不足之处,请多多指教!!转载 2023-10-16 14:49:48 · 192 阅读 · 0 评论 -
如何在 SQL 中基于多个“标签”查询数据?
假设,如果我扩展到 30 个条件,你还会使用这种方法来处理 30 个 sum(case...) 语句还是其他什么?如果您想按一些标签进行过滤,您可以使用临时表来处理具有一个标签的项目,并且有您不需要的标签,然后加入它们。的主要内容,如果未能解决你的问题,请参考以下文章。方法通常在一两个条件下效果更好,但复杂的查询可能难以维护并且会使优化器感到困惑。本质上都具有恒定的性能(最大的开销是聚合,而不是另一个聚合列的计算)。子句中的每个条件都检查一个标签。标签的项目,你可以添加左连接。我需要使用完全不同的架构吗?转载 2023-09-22 16:31:02 · 498 阅读 · 0 评论 -
Mysql-System.Collections.Generic.KeyNotFoundException,给定关键字不在字典中
Mysql-System.Collections.Generic.KeyNotFoundException,给定关键字不在字典中原创 2023-03-24 13:23:38 · 280 阅读 · 0 评论 -
Jdbc mysql sql_mode的坑
Jdbc mysql sql_mode的坑转载 2023-03-08 17:36:45 · 373 阅读 · 0 评论 -
mysql8的表锁排查
mysql8的表锁排查原创 2023-03-03 11:18:00 · 1040 阅读 · 0 评论 -
mysql5.7.17安装-windows10
1、下载mysql-5.7.17-winx64.zip2、解压解压到想安装的目录下,我的是D:\mysql-5.7.17-winx643、配置my.ini在D:\mysql-5.7.17-winx64目录下新建my.ini文件,输入以下配置代码:[mysql]# 设置mysql客户端默认字符集default-character-set=utf8[mysqld]sql-mode=""#设置3306端口port = 3306# 设置mysql的安装目录ba..原创 2022-05-09 17:36:39 · 441 阅读 · 0 评论 -
mysql-connector-java的版本在gradle的强制依赖配置与spring-boot-dependencies内置版本的生效问题
mysql-connector-java的版本在gradle的强制依赖配置与spring-boot-dependencies内置版本的生效问题原创 2021-12-11 10:00:48 · 1381 阅读 · 0 评论 -
MySql 链接url 参数
最近整理了一下网上关于MySql 链接url 参数的设置,有不正确的地方希望大家多多指教:mysql JDBC URL格式如下:jdbc:mysql://[host:port],[host:port].../[database][?参数名1][=参数值1][&参数名2][=参数值2]...常用的几个较为重要的参数:原创 2021-12-01 14:36:02 · 917 阅读 · 0 评论 -
如何杀死XA的事务
今天执行了 seata的XA事务后,因为版本问题,导致无法回滚,这时就要手动清理这些XA事务,不然数据库的正常事务都无法提交的。直接上图查看XA的事务:经确认,trx_mysql_thread_id=0 的事务全部为XA事务。处理过程因为trx_mysql_thread_id=0 的事务无法通过kill trx_mysql_thread_id 的方式处理,所以,需要回滚这些XA事务。拼接生成XA事务回滚脚本# XA事务回滚命令的格式:xa rollback 'left(.原创 2020-09-18 14:57:19 · 1097 阅读 · 0 评论 -
Mysql中MVCC的使用及原理详解
准备测试环境:Mysql 5.7.20-log数据库默认隔离级别:RR(Repeatable Read,可重复读),MVCC主要适用于Mysql的RC,RR隔离级别创建一张存储引擎为testmvcc的表,sql为: CREATE TABLE testmvcc ( id int(11) DEFAULT NULL, name varchar(11) DEFAULT NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8; .转载 2020-08-24 09:56:24 · 320 阅读 · 0 评论 -
面试官:你的SQL一般有几个join?
送分题面试官:有操作过Linux吗?我:有的呀面试官:我想查看内存的使用情况该用什么命令我:free 或者 top面试官:那你说一下用free命令都可以看到啥信息我:那,如下图所示 可以看到内存以及缓存的使用情况total 总内存used 已用内存free 空闲内存buff/cache 已使用的缓存avaiable 可用内存面试官:那你知道怎么清理已使用的缓存吗(buff/cache)我:em… 不知道面试官:sync; echo 3 > /proc/s转载 2020-06-24 17:59:11 · 306 阅读 · 0 评论 -
mysql导入数据load data infile用法
转截自:https://hunan.iteye.com/blog/752606实战例:LOAD DATA LOCAL INFILE 'D:/springboot/api/apiinfo.txt' INTO TABLE PERM_API_INFO CHARACTER SET utf8 FIELDS TERMINATED BY ',' ENCLOSED BY '"' LINES TERMINATE...转载 2019-05-20 14:26:27 · 811 阅读 · 0 评论 -
CentOS 6.4下源码安装MySQL 5.6.14
CentOS 6.4下编译安装MySQL 5.6.14概述:CentOS 6.4下通过yum安装的MySQL是5.1版的,比较老,所以就想通过源代码安装高版本的5.6.14。正文:一:卸载旧版本使用下面的命令检查是否安装有MySQL Serverrpm -qa | grep mysql有的话通过下面的命令来卸载掉rpm -e mysql //普通转载 2014-09-26 15:32:48 · 649 阅读 · 0 评论 -
SQL语句总结
--语句功能--数据操作Select --从数据库表中检索数据行和列Insert --向数据库表添加新数据行Delete --从数据库表中删除数据行Update --更新数据库表中的数据--数据定义Create TABLE --创建一个数据库表Drop TABLE --从数据库中删除表Alter转载 2015-02-27 10:44:40 · 536 阅读 · 0 评论 -
mysql主从复制实现数据库同步
mysql主从复制相信已经用得很多了,但是由于工作原因一直没怎么用过。趁着这段时间相对空闲,也就自己实现一遍。尽管互联网上已有大把类似的文章,但是自身实现的仍然值得记录。环境:主服务器:centos 6.0 mysql 5.1.67-log IP:192.168.0.107从服务器:centos 6.0 mysql 5.1.67-log IP:192.168.0.109主服务器te转载 2015-05-31 21:00:51 · 461 阅读 · 0 评论 -
mysql+mycat搭建稳定高可用集群,负载均衡,主备复制,读写分离
数据库性能优化普遍采用集群方式,oracle集群软硬件投入昂贵,今天花了一天时间搭建基于mysql的集群环境。主要思路简单说,实现mysql主备复制-->利用mycat实现负载均衡。比较了常用的读写分离方式,推荐mycat,社区活跃,性能稳定。测试环境MYSQL版本:Server version: 5.5.53,到官网可以下载WINDWOS安装包。注意:确保mysql版本为转载 2016-10-17 09:52:50 · 2570 阅读 · 0 评论 -
mysql分表和表分区详解
为什么要分表和分区?日常开发中我们经常会遇到大表的情况,所谓的大表是指存储了百万级乃至千万级条记录的表。这样的表过于庞大,导致数据库在查询和插入的时候耗时太长,性能低下,如果涉及联合查询的情况,性能会更加糟糕。分表和表分区的目的就是减少数据库的负担,提高数据库的效率,通常点来讲就是提高表的增删改查效率。什么是分表?分表是将一个大表按照一定的规则分解成多张具有独立存储空间的实体表,我们可转载 2016-12-20 14:24:42 · 325 阅读 · 0 评论 -
MySQL优化技巧
由于分库分表的原因,和开发规定了不能使用 表表JOIN 语句。因此,我们要将 JOIN 语句的转化成使用 IN 来做。如现在有 表 A(a_id, c_a)c_a有普通索引,表 B(b_id, c_a) 这两个表要关联, 应该转化为以下步骤处理:先查询B中的 a_idSELECT c_a FROM B WHERE xxx;使用 IN 查询 A 表SELECT a_id, .转载 2017-01-20 15:39:51 · 208 阅读 · 0 评论 -
Mysql5.7解压版的安装和卸载及常见问题
弄了好久用这个整上的:转载:http://blog.youkuaiyun.com/mr_green1024/article/details/53222526一、安装1、下载到MySQL官网 http://dev.mysql.com/downloads/mysql/ 下载mysql 注:msi的是安装版2、解压解压到想安装的目录下,我的是D:\my转载 2017-04-08 11:32:09 · 3921 阅读 · 0 评论 -
mysql远程连接错误1130的解决方法
转载:https://my.oschina.net/maliang0130/blog/207823mysql中的user表中User = mysql.sys 对应的Host = localhost,这样才可以通过mysql -u root -p 登陆解决远程连接mysql错误1130代码的方法 今天在用远程连接Mysql服务器的数据库,不管怎么弄都是连接不到,错误代转载 2017-04-08 15:17:45 · 1293 阅读 · 0 评论 -
MySQL添加用户、删除用户与授权
mysql 5.7 增加用户并授权1、创建用户,名字为userone,密码为123456 create user userone identified by '123456';2、创建名字为dbone的数据库 create database dbone;3、授予dbone数据库的所有权限给userone用户: grant all on dbone.* to userone;P转载 2017-04-10 11:06:50 · 668 阅读 · 0 评论 -
mysql存储过程详解
http://www.jb51.net/article/30825.htm其实,关于声明分割符,上面的注解已经写得很清楚,不需要多说,只是稍微要注意一点的是:如果是用MySQL的Administrator管理工具时,可以直接创建,不再需要声明。我们常用的操作数据库语言SQL语句在执行的时候需要要先编译,然后执行,而存储过程(Stored Procedure)是一组为了完转载 2017-04-10 15:22:33 · 282 阅读 · 0 评论 -
mysql分表和表分区详解
为什么要分表和分区?日常开发中我们经常会遇到大表的情况,所谓的大表是指存储了百万级乃至千万级条记录的表。这样的表过于庞大,导致数据库在查询和插入的时候耗时太长,性能低下,如果涉及联合查询的情况,性能会更加糟糕。分表和表分区的目的就是减少数据库的负担,提高数据库的效率,通常点来讲就是提高表的增删改查效率。什么是分表?分表是将一个大表按照一定的规则分解成多张具有独立存储空间的实转载 2017-04-11 16:07:24 · 2764 阅读 · 0 评论 -
mysql的3种分表方案
一、先说一下为什么要分表:当一张的数据达到几百万时,你查询一次所花的时间会变多,如果有联合查询的话,有可能会死在那儿了。分表的目的就在于此,减小数据库的负担,缩短查询时间。根据个人经验,mysql执行一个sql的过程如下:1、接收到sql; 2、把sql放到排队队列中;3、执行sql; 4、返回执行结果。在这个执行过程中最花时间在什么地方呢?第一,是排队等待的时间,转载 2017-04-11 16:24:33 · 464 阅读 · 0 评论 -
分库分表需要考虑的问题及方案
转载自:http://www.jianshu.com/p/32b3e91aa22c分库分表的基本思想Sharding的基本思想就要把一个数据库切分成多个部分放到不同的数据库(server)上,从而缓解单一数据库的性能问题。不太严格的讲,对于海量数据的数据库,如果是因为表多而数据多,这时候适合使用垂直切分,即把关系紧密(比如同一模块)的表切分出来放在一个server上。如果表并不多,但每转载 2017-07-14 10:51:28 · 481 阅读 · 0 评论 -
windows 下重置 mysql 的 root 密码
今天发现 WordPress 连接不上数据库,登录 window server 服务器查看,所有服务均运行正常。使用 root 账号登录 mysql 数据库,结果提示密码不匹配。我突然意识到,服务器可能遭受到 SQL注入 攻击了……至于事故发生的原因和之后所做的补救措施,以后有机会我会聊一聊的。这里我主要讲一下 mysql 用户密码的重置步骤。 重置 root 密码在忘记 root 密码的情况下,...转载 2017-10-17 15:18:09 · 581 阅读 · 0 评论 -
mysql5.7服务无法启动的问题
我是初学者,很久没用数据库。今天学到Hibernate,想把之前的数据库使用一下。启动之后发现如图所示的问题于是便上网找了一下。发现mysql5.7之后的版本在安装之后会出现这样的问题不过具体的原因并不清楚,我这里只讲解决方案。方案如下:把MySQL文件低下的data文件删掉 2. 打开CMD,进入mysql所在的磁盘中。我的mysql数据库在D盘。 3.输入mysql...转载 2018-04-16 15:58:27 · 8458 阅读 · 2 评论 -
数据库事务与锁详解\何谓悲观锁与乐观锁
https://blog.youkuaiyun.com/aluomaidi/article/details/52460844 什么是事务(Transaction)?是指作为单个逻辑工作单元执行的一系列操作,要么完全地执行,要么完全地不执行。 事务处理可以确保除非事务性单元内的所有操作都成功完成,否则不会永久更新面向数据的资源。通过将一组相关操作组合为一个要么全部成功要么全部失败的单元,可以简化错误...转载 2018-07-06 15:43:06 · 393 阅读 · 0 评论 -
centos6.4 rpm mysql安装步骤
rpmmysqlcentos1,检查MySQL及相关RPM包,是否安装,如果有安装,则移除(rpm –e 名称) [root@localhost ~]# rpm -qa | grep -i mysqlmysql-libs-5.1.66-2.el6_3.x86_64[root@localhost ~]# yum -y remove mysql-libs*2,转载 2014-09-26 15:14:01 · 680 阅读 · 0 评论