数据库
Java面试:
这个作者很懒,什么都没留下…
展开
-
SQL 优化必懂知识点
微信公众号:javafirst1. 基数单个列唯一键(distict_keys)的数量叫做基数。比如性别列,该列只有男女之分,抛开中性,所以这一列基数就是主键列的基数等于表的总行数。基数的高低影响列的数据分布。MariaDB [test]> select count(distinct gender),count(distinct phone) from test;+-------------...转载 2018-06-22 17:15:13 · 387 阅读 · 0 评论 -
MySQL数据库“十宗罪”(十大经典错误案例)
今天就给大家列举 MySQL 数据库中,最经典的十大错误案例,并附有处理问题的解决思路和方法,希望能给刚入行,或数据库爱好者一些帮助,今后再遇到任何报错,我们都可以很淡定地去处理。学习任何一门技术的同时,其实就是自我修炼的过程。沉下心,尝试去拥抱数据的世界!Top 1:Too many connections(连接数过多,导致连接不上数据库,业务无法正常进行)问题还原:解决问题...转载 2019-04-30 10:56:23 · 632 阅读 · 0 评论 -
数据库性能优化的误区
常见的数据库系统优化中的一些观点:“系统性能出现问题进行优化,一定要深入了解数据库内部参数、等待事件、Latch、缓冲池、trace文件、查询/优化引擎等底层细节。”这种观点往往出自数据库“高手”,这部分人以了解数据库底层实现细节而感到非常骄傲。但是从优化角度讲数据库的等待事件、Latch等指标高等等都只是问题的表象,懂得底层细节和内幕固然是好。但是解决问题的关键往往是在应用层进行...转载 2019-05-05 11:19:47 · 225 阅读 · 0 评论 -
数据库设计杂谈
注:本人开发经验尚浅,下文主要谈的是自己的一些想法,不足之处请指出。最近半年时间都花在管理系统的开放上面,对数据库的设计有一些自己的想法,在我看来数据库设计的key point就是妥协。一个设计的比较好的数据库都是在业务逻辑、设计规约和便于开发这三者之前来回考量,从而获得3-win的结果。下面主要是在思考和总结的点。如何设计出高灵活性的数据库可以说在项目交付前,需求不断在变,如何在...转载 2019-04-28 10:37:40 · 365 阅读 · 0 评论 -
一次非常有趣的sql优化经历
场景我用的数据库是mysql5.6,下面简单的介绍下场景课程表:createtableCourse(c_idintPRIMARYKEY,namevarchar(10))数据100条学生表:createtableStudent(idintPRIMARYKEY,namevarchar(10))数据70000条学生成绩表SC...转载 2019-04-15 10:26:16 · 1177 阅读 · 0 评论 -
一张图看懂 SQL 的各种 join 用法
下图展示了 LEFT JOIN、RIGHT JOIN、INNER JOIN、OUTER JOIN 相关的 7 种用法。具体分解如下:1.INNER JOIN(内连接)SELECT<select_list>FROMTable_A AINNERJOINTable_B BONA.Key= B.Key2.LEFT JOIN(左连接)SELECT...转载 2019-03-07 22:38:18 · 308 阅读 · 0 评论 -
一千个不用 Null 的理由
港真,Null 貌似在哪里都是个头疼的问题,比如 Java 里让人头疼的NullPointerException,为了避免猝不及防的空指针异常,千百年来程序猿们不得不在代码里小心翼翼的各种 if 判断,麻烦而又臃肿,为此 java8 引入了 Optional 来避免这一问题。下面咱们要聊的是 MySQL 里的 null,在大量的 MySQL 优化文章和书籍里都提到了字段尽可能用NOT NU...转载 2018-11-27 23:52:55 · 241 阅读 · 0 评论 -
MySQL之SQL优化实战记录
背景 本次SQL优化是针对javaweb中的表格查询做的。 部分网络架构图业务简单说明N个机台将业务数据发送至服务器,服务器程序将数据入库至MySQL数据库。服务器中的javaweb程序将数据展示到网页上供用户查看。原数据库设计 windows单机主从分离 已分表分库,按年分库,按天分表 每张表大概20w左右的数据原查询效率 3天数据查询70...转载 2018-11-26 23:19:19 · 510 阅读 · 0 评论 -
教你88秒插入1000万条数据到mysql数据库表
我用到的数据库为,mysql数据库5.7版本的首先自己准备好数据库表其实我在插入1000万条数据的时候遇到了一些问题,现在先来解决他们,一开始我插入100万条数据时候报错,控制台的信息如下:com.mysql.jdbc.PacketTooBigException: Packet for query is too large (4232009 > 4194304). You c...转载 2018-11-23 23:54:38 · 1277 阅读 · 0 评论 -
数据库连接池DBCP的使用
来源:Java联盟我们常用的数据库连接池除了C3P0还有DBCP今天我们就来了解一下DBCP数据库连接池DBCP(DataBase connection pool),数据库连接池。是 apache 上的一个 java 连接池项目,也是 tomcat 使用的连接池组件。单独使用 dbcp 需要2个包:commons-dbcp.jar,commons-pool.jar ...转载 2018-09-28 21:27:57 · 5338 阅读 · 0 评论 -
数据库连接池c3p0的使用
来源:Java联盟今天我们来分享一下c3p0数据库连接池的使用连接池介绍数据库连接池实际上就是存放连接的池子(容器),在开发中“获得连接”或“释放资源”是非常消耗系统资源的两个过程。为了解决此类性能问题,通常情况我们采用连接池技术,来共享连接Connection。这样我们就不需要每次都创建连接、释放连接了,这些操作都交给了连接池。c3p0连接池c3p0 是开源免费的连接...转载 2018-09-27 22:00:08 · 249 阅读 · 0 评论 -
认识MySQL数据库以及一些关于数据库的操作
前端的内容暂时就告一段落了接下来咱们来一起了解数据库方面的知识~数据库1)什么是数据库数据库就是存储数据的仓库,其本质是一个文件系统,数据按照特定的格式将数据存储起来,用户可以对数据库中的数据进行增加,修改,删除及查询操作。2)常见的数据库MYSQL:开源免费的数据库,小型的数据库.已经被Oracle收购了.MySQL6.x版本也开始收费。Oracle:收...转载 2018-09-18 22:56:51 · 236 阅读 · 0 评论 -
有哪些新手程序员不知道的小技巧?
1.重构是程序员的主力技能。2.工作日志能提升脑容量。3.先用profiler调查,才有脸谈优化。4.注释贵精不贵多。杜绝大姨妈般的“例注”。漫山遍野的碎碎念注释,实际就是背景噪音。5.普通程序员+google=超级程序员。6.单元测试总是合算的。7.不要先写框架再写实现。最好反过来,从原型中提炼框架。8.代码结构清晰,其它问题都不算事儿。9.好的项目作风硬派,一键测试,一键发布,一键部署; 烂的...转载 2018-07-03 12:43:44 · 250 阅读 · 0 评论 -
MySQL 10w+数据 insert 优化
由于业务原因,遇到了如题所述的业务问题,事务执行时间在30s~50s 不等,效果非常不理想方案1. jdbc批处理5w+ 数据测试,分别使用了mybatis insert()()(拼接xml), mybatis的批处理和 jdbc的批处理。可以看到在jdbc执行时间方面是差不多的,但是在方法执行时间上,批处理要稍微快了一些,但是还是不理想5w+ 数据测试15w+ 数...转载 2019-07-28 15:45:37 · 443 阅读 · 0 评论