Mysql
快乐风男111
fdd
展开
-
PooledDataSource 源码解析
Mybatis自带的数据库连接池PooledDataSource 源码解析1.PooledConnection 类该类是一个 连接代理类 实现了 InvocationHandler接口。class PooledConnection implements InvocationHandler { private PooledDataSource dataSource; //数据源 private Connection realConnection; //连接对象 private原创 2020-08-28 15:01:29 · 514 阅读 · 0 评论 -
Mysql从入门到精通 如何模拟出Too many connection
mysql 常用命令查看目前的最大连接数show variables like 'max_connections';设置最大连接数set global max_connections=1000;(设置最大连接数为1000,可以再次查看是否设置成功)在配置文件中修改mysql的最大连接数[Client]#设置3306端口port = 3306[mysqld]# explicit_defaults_for_timestamp=true# skip-grant-table原创 2020-08-28 10:40:34 · 232 阅读 · 0 评论 -
利用元数据加反射封装表数据到实体类
创建实体类public class User{ private int id; private String name; private int age; ... }封装数据到实体类 @Testpublic void testGetUser() throws Exception { Connection connection = ConnectionManager.get(); PreparedStatement preparedS原创 2020-08-27 19:34:25 · 159 阅读 · 0 评论 -
数据库元数据 ParameterMetaData和 ResultSetMetaData
创建数据库CREATE TABLE `user` ( `id` int(11) NOT NULL AUTO_INCREMENT, `name` varchar(255) DEFAULT NULL, `age` int(11) DEFAULT NULL, PRIMARY KEY (`id`)) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8mb4;ParameterMetaData元数据使用PreparedStatement.g原创 2020-08-27 19:28:24 · 787 阅读 · 0 评论 -
数据库元数据 DatabaseMetaData
一、元数据介绍 (数据库元数据 DatabaseMetaData)数据库元数据指的是"数据库的定义信息。DataBaseMetaData元数据获取方式通过Connection.getDatabaseMetaData()方法获得代表DatabaseMetaData元数据的DatabaseMetaData对象。DataBaseMetaData对象的常用方法有:getURL():返回一个String类对象,代表数据库的URL。getUserName():返回连接当前数据库管理系统的用户名。getDat原创 2020-08-26 22:52:03 · 987 阅读 · 0 评论 -
Mysql按照时间分组统计
标题时间格式:2020-07-21 14:57:09select update_time, count(id) as count from eemp_track group by substring(update_time,1,10) ;原创 2020-07-21 16:51:36 · 396 阅读 · 0 评论 -
MySQL事务面试题
MySQL事务面试题事务有哪几种隔离级别呢?可以详细谈谈吗?MySQL中InnoDB存储引擎实现了SQL标准的4种隔离级别,主要用来限定事务内哪些改动是可见的,哪些是不可见的。低级别的隔离一般支持更高的并发处理,并拥有更低的系统开销。MySQL中可以通过show variables like '%tx_isolation%'查看当前事务的隔离级别。默认使用的是REPEATABLE-READ。记忆技巧:isolate 孤立 e改 tion 表名词。读音:[aslen]读未提交(read uncommi原创 2020-07-19 17:51:34 · 1945 阅读 · 0 评论 -
Mysql查询当前时间
第一种方法:select current_date;mysql> select current_date as Systemtime;±-----------+| Systemtime |±-----------+| 2009-07-29 |±-----------+第二种方法:select now()mysql> select now() as Systemtime;±--------------------+| Systemtime |±-------原创 2020-07-07 14:45:40 · 529 阅读 · 0 评论 -
Mysql中如何查询几小时之前的数据
主要用到函数:DATE_SUB(NOW(),INTERVAL 0 HOUR)select t.`status` ,t.id,t.create_time,DATE_SUB(NOW(),INTERVAL 0 HOUR),DATE_SUB(NOW(),INTERVAL 2 HOUR) from eemp_track tt.create_time >= DATE_SUB(tNOW()...原创 2020-04-26 14:08:06 · 7630 阅读 · 0 评论 -
Mysql中替换某字段的部分字符串
update 表名 字段=REPLACE(字段,old,new);update eemp_track set evi_pkg_url=REPLACE(evi_pkg_url,"https://eemp.filoink.cn","http://eemp. filolink.com");根据条件批量替换: update eemp_track t set evi_pkg_url=REPLAC...原创 2020-04-23 21:04:55 · 772 阅读 · 0 评论 -
Mysql (把查询出来的数据添加序号)
SELECT (@i:=@i+1) as pm , `key`, `name`,total_integration FROM `user` , (SELECT @i:=0) AS i ORDER BY total_integration DESC原创 2020-01-08 15:21:21 · 2586 阅读 · 0 评论 -
ElasticSearch从入门到精通 (Logstash把mysql中的增量数据到ElasticSearch中)
1、前言在上一篇文章中,我们使用Logstash把mysql中的数据全量导入到了ElasticSearch,并且有定时任务,每隔特定的时间然后又会重新导入一遍,如何ElasticSearch中的数据和mysql中的数据一致,则不会更改。虽然这样也能实现增量数据的同步,但是效率极低,浪费资源。接下来,我们将实现如何增量数据的导入。2、修改mysql.conf文件 # 执行的sql 文件路径+名...原创 2019-11-22 15:03:26 · 333 阅读 · 0 评论 -
ElasticSearch从入门到精通 (性能测试)
1、前言在上面几张文章中我们介绍了,ElasticSearch、Kibana、Logstash的安装以及使用,最后我们把mysql中的数据同步到了ElasticSearch中,350000万条数据,接下来我们将测试一下使用ElasticSearch来使用全文检索时的性能,到底是不是像网上有人说的那么快。2、使用mysql进行模糊查询。select * from emp where name...原创 2019-11-15 10:49:18 · 501 阅读 · 1 评论 -
Mysql入门到精通 (Specified key was too long; max key length is 767 bytes)
1、前言今天在创建索引的时候报了个错:Specified key was too long; max key length is 767 bytes,当时找了资料,也没太好用啊,导致这个问题的原因索引的字段都太长了,mysql受不了,解决方法就是,让mysql支持比较长的索引,然后在插入表的时候,添加ROW_FORMAT=DYNAMIC ,自动格式化索引。或者把索引字段的长度调小。2、效果...原创 2019-11-13 11:16:19 · 337 阅读 · 0 评论 -
Mysql 从入门到精通 (innodb 引擎中的行锁,表锁,记录锁,Next-Key锁)
1、先下结论①InnoDB中锁包括表锁、行锁。MyISAM引擎与InnoDB引擎最大区别之一就是MyISAM引擎仅支持表级锁,而InnoDB引擎可以支持更小粒度的行级锁。InnoDB中的行锁有共享锁(读锁)和排它锁(写锁)两种类型。②InnoDB有三种锁的算法实现行锁,分别为:1.Record Lock:单个行记录上的锁。2.Gap Lock:间隙锁,锁定一个范围,但不包括记录本...原创 2019-11-11 11:02:53 · 161 阅读 · 0 评论 -
Mysql从入门到精通 (innodb 引擎 锁超时查看以及设置)
1、查看innodb引擎锁超时时间 show variables like 'innodb_lock_wait_timeout';2、设置锁超时时间set innodb_lock_wait_timeout=5;3、代码验证两个窗口同时开启事物,先再窗口二中先查询出记录,没有提交事物,然后再从窗口一中查询,由于开启了排他锁,窗口一中获取锁失败,等待5s之后就超时了。...原创 2019-11-11 10:29:04 · 973 阅读 · 0 评论 -
Linux contos6.5安装mysql5.6
1、首先关闭linux的防火墙,执行命令chkconfig iptables off2、从mysql官网上下载自己适合的mysql版本https://dev.mysql.com/downloads/mysql/5.6.html#downloads,进入mysql官网,依次点击3、下载后的mysql文件mysql-5.6.40-linux-glibc2.12-i686.tar.gz将...原创 2019-08-22 10:12:02 · 209 阅读 · 0 评论 -
分库分表主键生成策略
1、利用全球唯一id(UUID)2、数据库主键自增长,需要之前确定好数据库的数量,设置自增步长。3、雪花算法唯一主键。4、使用redis的自增。原创 2019-07-07 18:22:29 · 3170 阅读 · 0 评论 -
数据库的水平拆分与垂直拆分区别
垂直拆分是把不同的表拆到不同的数据库中,(用户数据库、商品数据库、积分数据库等等)。水平拆分是把同一表拆到不同的数据库中,或者是把某张表拆分n个小表存储在同一数据库中。可按某个字段的某种规则来分散到多个库之中。主要有分表和分库两种模式。...原创 2019-07-07 18:08:33 · 3582 阅读 · 0 评论 -
删除数据库表中所有数据的几种方法的比较
TRUNCATE TABLE 在功能上与不带 WHERE 子句的 DELETE 语句相同:二者均删除表中的全部行。但 TRUNCATE TABLE 比 DELETE 速度快,且使用的系统和事务日志资源少。 DELETE 语句每次删除一行,并在事务日志中为所删除的每行记录一项。TRUNCATE TABLE 通过释放存储表数据所用的数据页来删除数据,并且只在事务日志中记录页的释放。TRUNCA...原创 2019-06-18 18:44:22 · 5609 阅读 · 1 评论