数据库
L_小乌鸦
java web
网络,计算机组成,数据结构,算法,进程模型,io模型,socket,udp,tcp
展开
-
SQL习题笔记
这里主要介绍几道题目用以更加深入的了解SQL语句。在工作面试时乃至在考研时,很多时候都会考到SQL语句。如果这篇文章中的所有的题目都搞明白了,那么应付工作面试笔试或者考研笔试将会更加的游刃有余。来源:http://blog.csdn.net/ghuil/article/details/40981627题目01现有关系数据库如下:学生(学号,姓名,性别,专业,奖学金)课程(课转载 2017-03-10 11:21:12 · 3118 阅读 · 0 评论 -
Oracle start with connect by prior 递归查询用法
start with connect by prior 递归查询用法原文:http://www.cnblogs.com/benbenduo/p/4588612.html这个子句主要是用于B树结构类型的数据递归查询,给出B树结构类型中的任意一个结点,遍历其最终父结点或者子结点。先看原始数据: 1 create table a_test 2 ( paren转载 2017-07-20 11:12:50 · 336 阅读 · 0 评论 -
Oracle存储过程技巧
原文:http://www.cnblogs.com/chinafine/archive/2010/07/12/1776102.html我们在进行pl/sql编程时打交道最多的就是存储过程了。存储过程的结构是非常的简单的,我们在这里除了学习存储过程的基本结构外,还会学习编写存储过程时相关的一些实用的知识。如:游标的处理,异常的处理,集合的选择等等1.存储过程结构 1.1 第一转载 2017-07-20 14:50:27 · 404 阅读 · 0 评论 -
Mysql建立索引
文章归属:http://feiyan.info/16.html,我想自己去写了,但是发现此君总结的非常详细。直接搬过来了关于MySQL索引的好处,如果正确合理设计并且使用索引的mysql是一辆兰博基尼的话,那么没有设计和使用索引的MySQL就是一个人力三轮车。对于没有索引的表,单表查询可能几十万数据就是瓶颈,而通常大型网站单日就可能会产生几十万甚至几百万的数据,没有索引查询会变的非常缓转载 2017-07-21 10:15:05 · 364 阅读 · 0 评论 -
一次性批量插入数据库时,导致CPU使用率突然很高,无法成功执行插入
1 问题描述原文:http://www.jianshu.com/p/30ca7189c43f当一次性生成大量优惠券时,发现后台cpu使用率突然很高,无法成功生成券。2 排查过程发现DAO层的Mapper.xml配置文件中,插入的SQL配置如下:【不正常】insert id="batchInsert" useGeneratedKeys="true" keyProper转载 2017-07-31 14:12:37 · 3024 阅读 · 0 评论 -
Oracle中Merge into用法总结
Oracle中Merge into用法总结原文:http://www.cnblogs.com/dongsheng/p/4384754.html起因: 前段时间,因为涉及到一张表的大数据操作,要同时进行增删改,我跟师傅想了很多优化办法,结果都不尽人意。刚开始用的就是原始算法,先更新现有记录,再插入满足要求的其他记录,最后再删除多余记录,但是少量数据还可以,10W条数据就不行了,前台转载 2017-07-19 17:10:45 · 855 阅读 · 0 评论 -
mysql悲观锁总结和实践
mysql悲观锁总结和实践原文:http://chenzhou123520.iteye.com/blog/1860954最近学习了一下数据库的悲观锁和乐观锁,根据自己的理解和网上参考资料总结如下: 悲观锁介绍(百科):悲观锁,正如其名,它指的是对数据被外界(包括本系统当前的其他事务,以及来自外部系统的事务处理)修改持保守态度,因此,在整个数据处理过程中,将数据处于锁定状转载 2017-09-15 11:50:53 · 290 阅读 · 0 评论 -
mysql乐观锁总结和实践
mysql乐观锁总结和实践原文:http://chenzhou123520.iteye.com/blog/1863407上一篇文章《MySQL悲观锁总结和实践》谈到了MySQL悲观锁,但是悲观锁并不是适用于任何场景,它也有它存在的一些不足,因为悲观锁大多数情况下依靠数据库的锁机制实现,以保证操作最大程度的独占性。如果加锁的时间过长,其他用户长时间无法访问,影响了程序的并发访转载 2017-09-15 12:19:35 · 409 阅读 · 0 评论 -
MySQL临时表的简单用法 在大数据量时有时会加快查询速度
当工作在非常大的表上时,你可能偶尔需要运行很多查询获得一个大量数据的小的子集,不是对整个表运行这些查询,而是让MySQL每次找出所需的少数记录,将记录选择到一个临时表可能更快些,然后在这些表运行查询。创建临时表很容易,给正常的CREATE TABLE语句加上TEMPORARY关键字:CREATE TEMPORARY TABLE tmp_table ( name VARCHAR(转载 2017-10-19 17:09:19 · 1730 阅读 · 0 评论 -
优化临时表使用,SQL语句性能提升100倍
【问题现象】线上mysql数据库爆出一个慢查询,DBA观察发现,查询时服务器IO飙升,IO占用率达到100%, 执行时间长达7s左右。SQL语句如下:SELECT DISTINCT g.*, cp.name AS cp_name, c.name AS category_name, t.name AS type_name FROMgm_game g LEFT JOIN gm_cp转载 2017-10-20 09:39:57 · 2398 阅读 · 0 评论 -
学会使用临时表优化,切记不要乱用临时表(记录一)
今天检查满查询日志发现有个存储过程查询可以达17S 而且是订单列表查询,这个当然不能忍了,必须优化,接下来就是查找原因优化过程。过程使用动态语句,首先使用满查询的语句条件提取出来静态语句单独分析:提取结果如下:table1 表数据100W+ table3表数据200W+ SELECT b.*, A.value1, A.value2, A.value转载 2017-10-20 09:43:50 · 4958 阅读 · 0 评论 -
Mysql按日期分表
一、表不存在时则创建 之前做项目实在是太赶了,很多东西都没记录。是时候补回来了 MySQL做一个大表,由于要存历史记录,所以数据量很大,查询很慢。恰好查询的时候,又不需要时间太久的冷数据。现在将其实现原理提取成一个控制台小程序。 首先,创建一个简单的数据库访问类。 public static class CommonDao { pri转载 2017-10-13 09:38:17 · 4942 阅读 · 0 评论 -
Oracle游标
游标的概念: 游标是SQL的一个内存工作区,由系统或用户以变量的形式定义。游标的作用就是用于临时存储从数据库中提取的数据块。在某些情况下,需要把数据从存放在磁盘的表中调到计算机内存中进行处理,最后将处理结果显示出来或最终写回数据库。这样数据处理的速度才会提高,否则频繁的磁盘数据交换会降低效率。游标有两种类型:显式游标和隐式游标。在前述程序中用到的SELECT...INTO...查询转载 2017-07-20 10:42:17 · 332 阅读 · 0 评论 -
Oracle游标全解
Oracle 游标使用全解原文:http://www.cnblogs.com/sc-xx/archive/2011/12/03/2275084.html这个文档几乎包含了oracle游标使用的方方面面,全部通过了测试-- 声明游标;CURSOR cursor_name IS select_statement--For 循环游标--(1)定义游标--(2)定义游标变量转载 2017-07-20 10:37:36 · 390 阅读 · 0 评论 -
mysql之游标
mysql之游标原文转载于:http://www.cnblogs.com/duhuo/p/4651107.html游标 在操作mysql的时候我们知道MySQL检索操作返回一组称为结果集的行。这组返回的行都是与 SQL语句相匹配的行(零行或多行)。使用简单的 SELECT语句,例如,没有办法得到第一行、下一行或前 10行,也不存在每次一行地处理所有行的简单方法(相转载 2017-03-10 13:15:04 · 437 阅读 · 0 评论 -
Mysql存储过程
mysql之存储过程一、存储过程 迄今为止,使用的大多数 SQL语句都是针对一个或多个表的单条语句。并非所有操作都这么简单,经常会有一个完整的操作需要多条语句才能完成。例如,考虑以下的情形。 1、 为了处理订单,需要核对以保证库存中有相应的物品。 2、 如果库存有物品,这些物品需要预定以便不将它们再卖给别的人,并且要减少可用的物品数转载 2017-03-10 13:54:19 · 336 阅读 · 0 评论 -
MySql 存储过程实例(附完整注释)
MySql 存储过程实例(附完整注释)http://www.cnblogs.com/zhuawang/p/4185302.html MySql存储过程简单实例: /**********转载 2017-03-10 14:15:28 · 507 阅读 · 0 评论 -
mysql之视图
mysql之视图视图 视图是虚拟的表。与包含数据的表不一样,视图只包含使用时动态检索数据的查询。理解视图最好的办法就是来看一下例子:SELECT cust_name , cust_contactFROM customers , orders,orderitemsWHERE customers.cust_id = orders.cust_idAND orde转载 2017-03-10 14:37:23 · 336 阅读 · 0 评论 -
mysql之index(索引)
mysql之index(索引)来源:http://www.cnblogs.com/duhuo/p/6283396.html1.索引作用在索引列上,除了上面提到的有序查找之外,数据库利用各种各样的快速定位技术,能够大大提高查询效率。特别是当数据量非常大,查询涉及多个表时,使用索引往往能使查询速度加快成千上万倍。例如,有3个未索引的表t1、t2、t3,分别只包含列c1、c2、c3,转载 2017-03-10 15:33:59 · 460 阅读 · 0 评论 -
数据库索引的概念及创建
转载索引的概念及创建 学习一下索引。索引应该是Oracle的初级内容中比较重要的一部分。因为是否创建索引,对SQL的查询效率会有比较大的影响。当然对于何种索引,索引如何工作的原理,基本上只需要了解就可以了,不需要太过于深入,除非以后要做专门的SQL调优,否则一般的情况下很少会需要设置索引类型的情况。什么是索引: 索引是一种与表有关的数据库结构,是建立在转载 2017-03-10 16:00:42 · 450 阅读 · 0 评论 -
MySQL 性能优化的最佳 20+ 条经验
MySQL 性能优化的最佳 20+ 条经验今天,数据库的操作越来越成为整个应用的性能瓶颈了,这点对于Web应用尤其明显。关于数据库的性能,这并不只是DBA才需要担心的事,而这更是我 们程序员需要去关注的事情。当我们去设计数据库表结构,对操作数据库时(尤其是查表时的SQL语句),我们都需要注意数据操作的性能。这里,我们不会讲过 多的SQL语句的优化,而只是针对MySQL这一Web应用最多的数转载 2017-03-10 16:27:58 · 321 阅读 · 0 评论 -
mysql存储过程详解
mysql存储过程详解1. 存储过程简介 我们常用的操作数据库语言SQL语句在执行的时候需要要先编译,然后执行,而存储过程(Stored Procedure)是一组为了完成特定功能的SQL语句集,经编译后存储在数据库中,用户通过指定存储过程的名字并给定参数(如果该存储过程带有参数)来调用执行它。一个存储过程是一个可编程的函数,它在数据库中创建并保存。它可以有SQL语转载 2017-03-10 16:30:25 · 574 阅读 · 1 评论 -
mysql sql语句大全【转】
mysql sql语句大全【转】mysql教程■ 在DOS命令行启动MYSQL服务:net start mysql■在DOS命令行停止MYSQL服务:net stop mysql■查看被监听的端口:netstat –na | findstr 3306findstr用于查找后面的端口是否存在。 1、说明:创建数据库CREATE DAT转载 2017-03-10 16:31:40 · 469 阅读 · 0 评论 -
mysql常用函数汇总(分享)
mysql常用函数汇总(分享)一、数学函数ABS(x) 返回x的绝对值BIN(x) 返回x的二进制(OCT返回八进制,HEX返回十六进制)CEILING(x) 返回大于x的最小整数值EXP(x) 返回值e(自然对数的底)的x次方FLOOR(x) 返回小于x的最大整数值GREATEST(x1,x2,...,xn)返回集合中最大的值LEAST(x转载 2017-03-10 16:32:40 · 318 阅读 · 0 评论 -
sql语句优化
sql语句优化网上关于SQL优化的教程很多,但是比较杂乱。近日有空整理了一下,写出来跟大家分享一下,其中有错误和不足的地方,还请大家纠正补充。这篇文章我花费了大量的时间查找资料、修改、排版,希望大家阅读之后,感觉好的话推荐给更多的人,让更多的人看到、纠正以及补充。 1.对查询进行优化,要尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引。转载 2017-03-13 14:24:58 · 301 阅读 · 0 评论 -
Java之——基于java开发的功能强大、配置灵活的数据库之间的同步工具
原文:https://blog.csdn.net/l1028386804/article/details/80341251一、项目背景基于java开发的功能强大、配置灵活的数据库之间的同步工具,和数据产生器一样,均是前段时间因为项目需要编写的小工具,在实际应用场景中,我们经常需要定期将一个数据库的数据同步到另外一个数据库中,常见的一种做法是将源数据库的数据dump为sql文件,然后到目标数据...转载 2019-02-15 10:23:17 · 357 阅读 · 0 评论