![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
mysql
文章平均质量分 71
浮生若梦·
这个作者很懒,什么都没留下…
展开
-
mysqlReport 详细解析
myslqReport的安装mysqlReport 的安装需要在linux环境中,还需要安装perl的环境和perl的两个包,详细步骤如下:因为我是在Windows环境下,先试着安装了虚拟机,后来发现虚拟机太麻烦了,最后采用了docker环境。首先下载docker的桌面环境–》 docker安装安装好docker先现在一个centos镜像,在centos环境下mysqlReport比较好安装。docker pull centos然后运行centos镜像sudo docker run --na原创 2021-12-02 16:28:48 · 1170 阅读 · 0 评论 -
mysql 间隙锁
mysql 间隙锁的简单介绍原创 2021-12-02 11:05:50 · 725 阅读 · 0 评论 -
sysbench 压力测试数据库
数据库的优化工作中压力测试也是不可缺少的一部分,使用 sysbench 进行压力测试,特此记录一下。首先准备一个运行环境,我是采用的的Windows下安装的docker桌面版,docker镜像的系统是 centos ,随便下载了一个,没有准备环境的可以在网上搜索一下docker的安装和运行之类的。比VM虚拟机轻量化,而且相比于比VM的配置少了不少,对新手特别友好。准备工作做好后运行centos容器,可以先更新一下yum然后更新yum repo仓库curl -s https://packageclou原创 2021-09-14 11:33:41 · 804 阅读 · 0 评论 -
一些神奇的小BUG(二)
这个BUG 是有关于mybatis 的BUG首先 说一下发现BUG的过程本来是做一个有关读取txt数据 自动回显到页面的功能。怎么说呢,就是数据可能太多,客户不太想挨个填写。于是准备一个TXT的文本,里面是按规则的内容,通过读取这些内容回显到界面上,再确认后提交数据。其中第一列的数据是一些文件的名称,不过先得确认这个文件是否在数据库当中,不在的话就不予以回显。然后问题就来了,第一行的数据不管怎么查询永远都查询不到,不光是项目中查询不到,而且在数据库中也查不到,但是它确实在数据库当中。只要重新输原创 2021-02-01 15:32:34 · 88 阅读 · 0 评论 -
invalid comparison: java.util.Date and java.lang.String:date类型的数据不能和string的数据进行比较。
最近碰到一个有意思的错误,这个错误翻译过来是无效的比较,date类型的数据不能和string的数据进行比较。一开始看到这个问题很纳闷,报错的这个方法只是一个修改的方法,非常简单,也没涉及到比较啥的。后来终于找到了报错的关键,这个报错的位置是在mapper.xml中。一般我们在写动态SQL的时候会这样做 <if test="createDate != null and createDate!=''"> create_date=#{createDate}, <原创 2020-10-20 15:29:22 · 5881 阅读 · 2 评论 -
深入MySQL(二)索引
索引索引(MySQL中也叫做 “键”)是存储引擎用于快速找到记录的一种数据结构。这是索引的基本功能。索引对于良好的性能非常关键。尤其是当表中的数据量越来越大时,索引对性能的影响愈发重要。在数据量较小且负载较低时,不恰当的索引对性能的影响可能还不明显,但当数据量逐渐增大时,性能则会急剧下降(对于固态硬盘来说,没有传统硬盘那么糟糕)。索引基础我们在看书的时候,想要找到某个主题,会怎么做呢?我们一般会去翻书的目录,然后找到该主题所在的页数,最后快速的找到该主题。那么MySQL的索引所做的工作也是同样的工作原创 2020-09-22 16:29:45 · 338 阅读 · 0 评论 -
mysql 添加各类索引
添加主键索引ALTER TABLE `表名` ADD PRIMARY KEY ( `列名` ) 添加唯一索引ALTER TABLE `表名` ADD UNIQUE ( `列名` ) 添加普通索引 ALTER TABLE `表名` ADD INDEX 索引名 ( `列名` )添加全文索引ALTER TABLE `表名` ADD FULLTEXT ( `列名` )添加多列索引ALTER TABLE `表名` ADD INDEX 索引名原创 2020-09-15 09:31:08 · 86 阅读 · 0 评论 -
MySQL DELETE 删除数据后释放空间
首先来看一下MySQL删除数据的几种方式MySQL 删除数据的几种方式有 DELETE、TRUNCATE、DROPDELETE:要注意,delete是DML语言,删除数据后,并不会真正的删除数据,每次从表中删除一行,并且同时将该行的的删除操作记录在redo和undo表空间中以便进行回滚(rollback)和重做操作,但要注意表空间要足够大,需要手动提交(commit)操作才能生效,可以通过rollback撤消操作。还有,InnoDB 数据库在使用 delete 进行删除操作的时候,只会将已经删除的数原创 2020-07-20 11:12:54 · 13866 阅读 · 2 评论 -
Mysql唯一索引区分大小写问题
最近在做一个项目,需要批量添加一大堆数据做查询,做好SQL优化后,准备插入数据时发现,原本规定有一个列的数据本来是唯一的数据,但其中有两个数据是一样一样的,只是大小写不同,经过和数据提供者的协调,发现数据正常,确实有一些数据是大小写不同,但是这些是正常数据。但是mysql数据库做好了唯一索引后,插入这种数据报错,原因当然是唯一字段不区分大小写了。只要修改一下就好了ALTER TABLE [表名称] MODIFY [字段名称] [VARCHAR(30)] BINARY;注意: 字段名称后面的 VAR原创 2020-07-20 10:23:37 · 3308 阅读 · 0 评论 -
深入mysql(一) mysql基础底层技术
mysql的逻辑架构最上层 的服务并不是mysql锁独有的,大多数基于网络的客户端/服务器的工具或者服务都有类似的架构。例如连接处理,授权认证、安全等。第二层 大多数的mysql的核心服务功能都在这一层,包括查询解析、分析、优化、缓存以及所有的内置函数(例如:日期、时间、数学和加密函数),所有跨存储引擎的功能都在这一层实现:存储过程、触发器、视图等等。第三层 包含了存储引擎。存储引擎负责mysql中数据的存储和提取。和linux下的各种文件系统一样,每个存储引擎都有它的优势和劣势。服务器通过API与原创 2020-06-08 10:59:04 · 371 阅读 · 0 评论