
mysql
文章平均质量分 66
seapeak007
这个作者很懒,什么都没留下…
展开
-
optimize table释放表空间
注意下图标红部分。原创 2024-07-19 17:15:51 · 305 阅读 · 0 评论 -
HiKariCP和Druid对比(转)
转自:https://blog.youkuaiyun.com/qq_17085463/article/details/90486515HiKariCP和Druid我们所熟知的C3P0,DBCP,Druid, HiKariCP为我们所常用的数据库连接池,其中C3P0已经很久没有更新了。DBCP更新速度很慢,基本处于不活跃状态,而Druid和HikariCP处于活跃状态的更新中,这就是我们说的二代产品了。HiKariCP字节码精简 :优化代码,直到编译后的字节码最少,这样,CPU缓存可以加载..转载 2021-05-07 16:30:07 · 956 阅读 · 0 评论 -
LEFT JOIN关联表中ON,WHERE后面跟条件的区别(转)
转自:https://mp.weixin.qq.com/s/D-7ZX-0mgEAH6KEeMKbLDQ之前有码友去京东面试,被问到 LEFT JOIN 关联表中用 ON 还是 WHERE 跟条件有什么区别,很快就答出来了,可是追问什么原因造成这一情况的,一时没回答上来。下面说说,想通过 A left B join on and 后面的条件来使查出的两条记录变成一条,奈何发现还是有两条。后来发现 join on and 不会过滤结果记录条数,只会根据and后的条件是否显示 B表的记录,A表.转载 2021-05-07 15:43:14 · 587 阅读 · 0 评论 -
MySQL索引-B+树【转】
转自:http://www.liuzk.com/410.html索引是一种数据结构,用于帮助我们在大量数据中快速定位到我们想要查找的数据。索引最形象的比喻就是图书的目录了。注意这里的大量,数据量大了索引才显得有意义,如果我想要在 [1,2,3,4] 中找到 4 这个数据,直接对全数据检索也很快,没有必要费力气建索引再去查找。索引在 MySQL 数据库中分三类:B+ 树索引 Hash 索引 全文索引我们今天要介绍的是工作开发中最常接触到的 InnoDB 存储引擎中的 B+ 树索引。要介绍转载 2020-12-01 19:34:31 · 548 阅读 · 0 评论 -
Mysql之group by GROUP_CONCAT的保证顺序
groub by 是按照分组,默认不排序,groub后会选择默认排序的第一条进行返回。如果分组前排序好的数据,取排序好的第一条数据排序,则需要加上limit ,进行强制排序。 SELECT m.* from ( SELECT if ( a.status = 'X002', a.fleet_na...原创 2019-11-27 19:30:37 · 5613 阅读 · 0 评论 -
使用 Binlog 和 Canal 从 MySQL 抽取数据(转)
转自:https://blog.youkuaiyun.com/zjerryj/article/details/77152226数据抽取是 ETL 流程的第一步。我们会将数据从 RDBMS 或日志服务器等外部系统抽取至数据仓库,进行清洗、转换、聚合等操作。在现代网站技术栈中,MySQL 是最常见的数据库管理系统,我们会从多个不同的 MySQL 实例中抽取数据,存入一个中心节点,或直接进入 Hive。市面上已...转载 2018-08-30 17:13:06 · 1198 阅读 · 0 评论 -
Centos系统安装MySQL(整理)
流程参考地址:https://blog.youkuaiyun.com/windylfm/article/details/78600977下载:wget http://mirrors.sohu.com/mysql/MySQL-5.6/mysql-5.6.35-linux-glibc2.5-x86_64.tar.gz网易镜像地址:http://mirrors.163.com/解压到/usr/loc...原创 2018-09-05 17:40:17 · 262 阅读 · 0 评论 -
Mysql优化sql排查EXPLAIN EXTENDED
主要使用命令行EXPLAIN EXTENDED (sql语句);show WARNINGS ;进行查看分析sql执行步骤索引等等,showWARNINGS;结果中Message列查看mysql优化后的sql语句。更详细的例子可以参看:https://mp.weixin.qq.com/s/A3d5-jlNj0wtWvis77HW-A...原创 2019-06-05 20:30:31 · 661 阅读 · 0 评论 -
mysql表没有索引,并发的情况下导致CPU飙升
虽然mysql中的单表数据量不大,几万条,但是在并发事务(并发数100-200之间,瞬间抢坑位)控制下,导致CPU飙升,查询该表的select也耗时很久。1、查看了mysql的CPU飙升时,IO、连接数、带宽、内存等监控指标都正常再查看慢SQL,超过1秒的SQL没有。再看表的设计,没有设计索引,将索引加上,同时mysql配置增加到16G的配置,问题得到解决。虽然单条SQL执行效率快...原创 2019-09-05 20:08:28 · 1873 阅读 · 0 评论 -
mysql中jpa开发针对BLOB字段的update问题
1.当执行SQL:update mblogin set pass = '' where uid = 6800735 ; 此时查询SQL会发现pass是BLOB显示了。2.然后当JPA执行上述存储时,也没有报错,也update进去了,非BLOB字段的数据也变化了,但是BLOB字段值是没有变化的。this.userLoginRepository.save(entity)3.当业务需要进行BLOB进行比...原创 2018-03-23 22:45:22 · 1713 阅读 · 0 评论 -
带时区的时间MySQL以及java中的处理
MySQL中的处理:SELECT STR_TO_DATE('Thu Jul 20 15:04:03 +0800 2017','%a %b %e %T %Y %Y %Y') from dual ;结果为:2017-07-20 15:04:03 注释主要还是使用MySQL中的字符串格式化,后面的3个%Y是利用前2个当做占位使用了。格式符注释如下:MySQL中的根据for原创 2017-08-02 10:35:20 · 2072 阅读 · 0 评论 -
MySQL使用Navicat导出数据,数据会被减少
通过Navicat导出MySQL的表数据时,如果是通过右键-导出向导的方式导出数据,会出现导出的条数跟数据库里查询到的条数不一致,亲测试条数会少,都是使用的默认设置的方式导出的。下图为导出向导的方式截图正确导出的方式是:右键-转储SQL文件的方式导出表的SQL文件。最后需要注意导出完数据后,一定要验证导出的条数,是否跟数据库中查询到的条数是否一致,避免数据不原创 2017-06-06 11:06:55 · 10053 阅读 · 0 评论 -
mysql乐观锁总结和实践(含demo例子)
上一篇文章《MySQL悲观锁总结和实践》谈到了MySQL悲观锁,但是悲观锁并不是适用于任何场景,它也有它存在的一些不足,因为悲观锁大多数情况下依靠数据库的锁机制实现,以保证操作最大程度的独占性。如果加锁的时间过长,其他用户长时间无法访问,影响了程序的并发访问性,同时这样对数据库性能开销影响也很大,特别是对长事务而言,这样的开销往往无法承受。所以与悲观锁相对的,我们有了乐观锁,具体参见下面介绍:转载 2016-12-06 17:46:46 · 3847 阅读 · 0 评论 -
mysql悲观锁总结和实践
悲观锁介绍(百科):悲观锁,正如其名,它指的是对数据被外界(包括本系统当前的其他事务,以及来自外部系统的事务处理)修改持保守态度,因此,在整个数据处理过程中,将数据处于锁定状态。悲观锁的实现,往往依靠数据库提供的锁机制(也只有数据库层提供的锁机制才能真正保证数据访问的排他性,否则,即使在本系统中实现了加锁机制,也无法保证外部系统不会修改数据)。 使用场景举例:以MySQL InnoDB转载 2016-12-06 18:07:49 · 713 阅读 · 0 评论 -
MySQL事务隔离级别详解
SQL标准定义了4类隔离级别,包括了一些具体规则,用来限定事务内外的哪些改变是可见的,哪些是不可见的。低级别的隔离级一般支持更高的并发处理,并拥有更低的系统开销。Read Uncommitted(读取未提交内容) 在该隔离级别,所有事务都可以看到其他未提交事务的执行结果。本隔离级别很少用于实际应用,因为它的性能也不比其他级别好多少。读取未提交的数据,也被称之为脏读(Dirt转载 2016-12-15 17:52:19 · 234 阅读 · 0 评论 -
MySQL中的日期计算unix_timestamp
SELECT unix_timestamp(curdate()-1) 一个关于日期的 计算,今天是 3.1日,这种计算mysql导致转换 为2.30日,而转换为1970-01-01 正确做法是 SELECT unix_timestamp(curdate())-86400或者select date_sub(curdate(),interval 1 day)curr原创 2017-03-01 13:38:23 · 2128 阅读 · 0 评论 -
mysql在java中处理update语句使用了表别名,不起作用
update user f set f.user_identify_label =2 where f.user_id in (122345),这样的语句执行了后,数据没有变化,这样写update语句是不规范的,需要按照规范来写,可以使用以下两种方式,不用别名跟用别名的情况。update user set user_identify_label =2 where user_id原创 2017-05-04 19:02:47 · 4584 阅读 · 0 评论 -
MySQL一段时间内取一条数据的办法
SELECT t.message,min(t.chat_time) AS time from (SELECT c.message as message ,c.chat_time as chat_time FROM chat_history_video c where c.video_id=2291 union SELECT f.message原创 2017-05-31 17:55:12 · 4586 阅读 · 0 评论 -
MySQL查询字段不区分大小写,如要区分大小写需要处理
select * from activity_lxorder where lxkey='Lx14955080775000' ;update activity_lxorder set lxkey='lx14955080775001' where lxkey='Lx14955080775000' ;上述2条语句,都是查询出lx14955080775000的数据,同时也update原创 2017-06-05 19:36:20 · 6336 阅读 · 2 评论 -
mysql,命令导入\导出表结构或数据
转载地址:http://www.cnblogs.com/zcw-ios/articles/3319480.html在命令行下mysql的数据导出有个很好用命令mysqldump,它的参数有一大把,可以这样查看: mysqldump 最常用的: mysqldump -uroot -pmysql databasefoo table1 table2 > foo.sql 这转载 2017-06-06 10:30:36 · 3406 阅读 · 0 评论 -
sql查询优化
性能不理想的系统中除了一部分是因为应用程序的负载确实超过了服务器的实际处理能力外,更多的是因为系统存在大量的SQL语句需要优化。为了获得稳定的执行性能,SQL语句越简单越好。对复杂的SQL语句,要设法对之进行简化。常见的简化规则如下: 1)不要有超过5个以上的表连接(JOIN)2)考虑使用临时表或表变量存放中间结果。3)少用子查询4)视图嵌套不要过深,一般视转载 2016-12-05 15:03:11 · 855 阅读 · 0 评论