打造独立数据库访问的中间服务

随着公司业务的不断变化,几年前的 A 项目和底层 DB_A 数据库华丽转身为核心业务服务和核心数据库。   想从  DB_A  数据库获取数据的 web 服务越来越多,项目之间的关系逐渐演变为下面这样:   很容易看出来按上图这样的发展趋势会存在很多问题(项目关系为个人抽象出来的简化版,实际情况比这要复杂的多)。   a. 当 webappA 运行过程中出现异常无法访问,webappB/ w
阅读本文

数据库之存储过程(Stored Procedure)

存储过程(Stored Procedure,以下简称SP)是啥?有什么用?优缺点?  一个SP是一段存储在数据库系统中的一条或多条sql语句的集合,类似一条批处理,它能被触发器,或者其他的SP以及APP触发。直观看来,就像是数据库中的自定义函数,navicat直接将其列在了函数类别里: 存储过程的优点和缺点待添加。。。 创建存储过程待添加。。。 调用存储过程待添加。。。 删除存储过程 DROP P
阅读本文

数据库之各种键(Key)

超键(super key):在关系中能唯一标识元组的属性集称为关系模式的超键候选键(candidate key):不含有多余属性的超键称为候选键主键(primary key):用户选作元组标识的一个候选键程序主键比如一个小范围的所有人,没有重名的,考虑以下属性身份证 姓名 性别 年龄身份证唯一,所以是一个超键姓名唯一,所以是一个超键(姓名,性别)唯一,所以是一个超键(姓名,性别,年龄)唯一,所以
阅读本文

数据库中特殊字符的存取

特殊字符数据库的存取问题第一种方法就是replace   例如在入库的时候可以把(“ “)换成(&nbsp:) 把(/r/n)换成()这样的话在自动帮定的时候就可以在数据控件中显示换行和空格了,但是要注意的是如果是自己写代码进行,要把数据显示在textbox lable等上面,就要注意了,要把它们替换过来即在用replace把数据库中的(&nbsp:) 换成(“ “) 把()换成(/r/n)
阅读本文

数据库索引(Index)

数据库索引是啥?有什么用?原理是什么?最佳实践什么? 索引是啥从结构上来说,索引中的数据还被组织成满足一定查找算法的数据结构,比如B树。这样提高了从数据库的查询效率。 有什么用  创建索引可以提高数据的查询性能(improve speed of data retrieval operation)。具体来说:    第一,通过创建唯一性索引,可以保证数据库表中每一行数据的唯一性。    第三,可以加
阅读本文

EF架构~codeFirst从初始化到数据库迁移

一些介绍CodeFirst是EntityFrameworks的一种开发模式,即代码优先,它以业务代码为主,通过代码来生成数据库,并且加上migration的强大数据表比对功能来生成数据库版本,让程序开发人员不用维护数据库的变更,而直接维护migration即可,在它里面有你当前版本和过去历史版本的所有变更记录!大叔写过的Migration的文章开始今天的《一步一步带您进行Migration数据库版
阅读本文

thinkphp5.0学习笔记(四)数据库的操作

ThinkPHP内置了抽象数据库访问层,把不同的数据库操作封装起来,我们只需要使用公共的Db类进行操作,而无需针对不同的数据库写不同的代码和底层实现,Db类会自动调用相应的数据库驱动来处理。采用PDO方式,目前包含了Mysql、SqlServer、PgSQL、Sqlite等数据库的支持。1.基本使用配置了数据库连接信息后,我们就可以直接使用数据库运行原生SQL操作了,支持query(查询操作)和e
阅读本文

数据库连接检测

package com.duo;import java.sql.Connection;import java.sql.DriverManager;import org.junit.Test;public class Lianjie { @Test public void ceshi() throws Exception{ String url=“jdbc:mysql://localhost:33
阅读本文

数据库优化的方式

避免出现where子句中对字段进行null值判断:demo  select id from t where num is null可以替换为select id from t where num=0 (设置num字段的默认值为0) 避免在where子句中使用!= 或 或 or 操作符,这样会导致全表扫描 demo: select id from t where num = 10 or num
阅读本文

数据库,知识点汇总

查询一列:select tno * from score --- 来自score表的tno列-- 查询Score表中成绩为60,61或62的记录。select * from score where degree=60 or degree=61 or degree=62select * from score where degree in (60,61,62)in 是说明 deg
阅读本文

时间序列数据库rrd启动

然后执行启动定时任务目录:etc/crontabSHELL=/bin/bashPATH=/sbin:/bin:/usr/sbin:/usr/binMAILTO=rootHOME=/# For details see man 4 crontabs# Example of job definition:# .---------------- minute (0 - 59)# | .---------
阅读本文

Oracle数据库中CLOB类型字段取出后转换为String类型

保存的时候 直接保存 String 类型的字符串 到数据库里就行 字段属性为CLOB 也没事Clob clob = (Clob) list.get(0).get(“CONTENT“); //从数据库中得到的返回值是List 直接转换;String content = clob.getSubString((long)1,(int)clob.length()); //截取从第一个开始到末尾 放入字
阅读本文

数据库术语之存储过程(Stored Procedure)

存储过程(Stored Procedure,以下简称SP)是啥?有什么用?优缺点?  一个SP是一段存储在数据库中的sql语句,它能被触发器,或者其他的SP以及APP触发。直观看来,就像是数据库中的自定义函数,navicat直接将其列在了函数类别里:未完待续。。。 参考文章:【1】 by yang3wei
阅读本文

数据库术语之各种键(Key)

超键(super key):在关系中能唯一标识元组的属性集称为关系模式的超键候选键(candidate key):不含有多余属性的超键称为候选键主键(primary key):用户选作元组标识的一个候选键程序主键比如一个小范围的所有人,没有重名的,考虑以下属性身份证 姓名 性别 年龄身份证唯一,所以是一个超键姓名唯一,所以是一个超键(姓名,性别)唯一,所以是一个超键(姓名,性别,年龄)唯一,所以
阅读本文

JDBC 数据库连接操作——实习第三天

今天开始了比较重量级的学习了,之前都是对于Java基础的学习和回顾。继续上篇的话题,《谁动了我的奶酪》,奉献一句我觉得比较有哲理的话:“学会自嘲了,而当人们学会自嘲,能够嘲笑自己的愚蠢和所做的错事时,他就在开始改变了。他甚至觉得,改变自己的最快方式,就是坦然嘲笑自己的愚笨——这样,你就能对过往云烟轻松释然,迅速行动起来,直面变化。”好了,开始我们的复习~ 连接数据库所需要的包除此之外,我们还需要进
阅读本文

数据库性能问题诊断与分析

1.SQL_TRACE及10046事件的基础介绍 SQL_TRACE/10046事件是oracle提供的用于进行SQL跟踪的手段,是强有力的辅助诊断工具。当在数据库中启用SQL_TRACE或者设置10046事件后,Oracle将会启动内核跟踪程序,持续记录会话的相关信息,并写入到相应的trace文件中。跟踪记录的内容包括SQL的解析过程、SQL的执行计划、绑定变量的使用以及会话中发生的等待事件等。
阅读本文

数据库SQLite常用语句<三>

一、数据库表的操作: 1. 创建数据库表 创建数据库:create table 表名( _id integer primary key autoincrement,//主键id自增长 name varchar(40), age integer(20), birthday datetime //最后一行不用写 逗号(,) )
阅读本文