数据库
文章平均质量分 82
fangqun663775
这个作者很懒,什么都没留下…
展开
-
在Oracle中创建新用户, 并且赋予该用户查看其他用户视图的权限
1. 需求提出在HIS与第三方系统进行集成时,某第三方系统需要访问HIS数据库的视图而非全部的数据库表。HIS的数据库为Oracle, 因此需要在Oracle中在原有用户的基础上,再增加一个用户,该用户仅能查看HIS中为其开放的视图。这也是为了系统之间的安全考虑的。2. 解决方案经过技术查阅,找到的解决方案如下:(1)以system用户登录oracle数据库.(2)创建用户并且...转载 2019-09-19 16:14:27 · 3077 阅读 · 0 评论 -
sql优化经典例子
场景我用的数据库是mysql5.6,下面简单的介绍下场景课程表create table Course(c_id int PRIMARY KEY,name varchar(10))数据100条学生表:create table Student(id int PRIMARY KEY,name varchar(10))转载 2017-05-16 16:37:24 · 17203 阅读 · 7 评论 -
MySQL 处理海量数据时的一些优化查询速度方法
在参与实际项目中,当 MySQL 表的数据量达到百万级时,普通的 SQL 查询效率呈直线下降,而且如果 where 中的查询条件较多时,其查询速度无法容忍。想想可知,假如我们查询淘宝的一个订单详情,如果查询时间高达几十秒,这么高的查询延时,任何用户都会抓狂。因此如何提高 SQL 语句查询效率,显得十分重要。查询速度慢的原因1、没有索引或者没有用到索引(这是查询慢最常见的问题,是转载 2017-05-02 11:09:19 · 1182 阅读 · 0 评论 -
数据库访问性能优化
特别说明:1、 本文只是面对数据库应用开发的程序员,不适合专业DBA,DBA在数据库性能优化方面需要了解更多的知识;2、 本文许多示例及概念是基于Oracle数据库描述,对于其它关系型数据库也可以参考,但许多观点不适合于KV数据库或内存数据库或者是基于SSD技术的数据库;3、 本文未深入数据库优化中最核心的执行计划分析技术。 读者对像:开发人员转载 2017-01-11 16:39:01 · 577 阅读 · 0 评论 -
数据库隔离级别
本文系转载,原文地址:http://singo107.iteye.com/blog/1175084数据库事务的隔离级别有4个,由低到高依次为Read uncommitted、Read committed、Repeatable read、Serializable,这四个级别可以逐个解决脏读、不可重复读、幻读这几类问题。√: 可能出现 ×: 不会出现脏读 不可重复读 幻读 Read unc转载 2016-12-29 12:43:04 · 211 阅读 · 0 评论 -
mysql中timestamp的使用
今天调整历史数据时,发现一个问题,当修改操作日志表中的用户表字段时,操作时间自动修改为了当前时间。原因是创建表时,当表字段类型为timestamp,将自动加上属性default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP,这个表示当修改某条记录时,则将此字段修改为当前时间。如果想设置为每次修改其他字段的值时不自动修改此字段为当前时间的话,可以显示设置属转载 2016-10-18 17:41:49 · 268 阅读 · 0 评论 -
数据库建表原则
关键字: 数据库建表原则 ·1. 原始单据与实体之间的关系 可以是一对一、一对多、多对多的关系。在一般情况下,它们是一对一的关系:即一张原始单据对应且只对应一个实体。在特殊情况下,它们可能是一对多或多对一的关系,即一张原始单证对应多个实体,或多张原始单证对应一个实体。这里的实体可以理解为基本表。明确这种对应关系后,对我们设计录入界面大有好处。 〖例〗:一份员工履历资料,在人力资源信息系统中,就转载 2016-10-18 17:01:06 · 545 阅读 · 0 评论 -
数据库中主外键的关系
主键Primary key,唯一标示一个实体。是保证数据库的实体完整性,保证数据中数据的正确性和合理性,取值非空唯一。 外键Foreign,是用来使表与表之间联系。用来保证数据库的参照完整性,外键的取值必须来自参照表参照列的值,可以为空也可不为空。外键的作用:保持数据一致性,完整性,主要目的是控制存储在外键表中的数据。 使两张表形成关联,外键只能引用外表中的列的值!主外键的关系结构:1,转载 2016-10-18 16:42:00 · 1169 阅读 · 0 评论 -
VARCHAR和NVARCHAR的区别
1、各自的定义: ► nvarchar(n) : 包含 n 个字符的可变长度 Unicode 字符数据。n 的值必须介于 1 与 4,000 之间。字节的存储大小是所输入字符个数的两倍。所输入的数据字符长度可以为零。 ► varchar[(n)]: 长度为 n 个字节的可变长度且非 Unicode 的字符数据。n 必须是一个介于转载 2016-10-18 15:35:22 · 2950 阅读 · 0 评论 -
mysql函数大全
mysql函数大全 对于针对字符串位置的操作,第一个位置被标记为1。 ASCII(str) 返回字符串str的最左面字符的ASCII代码值。如果str是空字符串,返回0。如果str是NULL,返回NULL。 mysql> select ASCII('2'); -> 50mysql> select ASCII(2); -> 50mysql> s转载 2017-05-19 09:21:43 · 285 阅读 · 0 评论 -
mysql中case when的用法
下面为您举例说明了三种mysql中case when语句的使用方法,供您参考学习,如果您对mysql中case when语句使用方面感兴趣的话,不妨一看。1。select name, case when birthday'1981' then 'old' when birthday>'1988' then 'yong' els转载 2017-10-09 17:25:51 · 955 阅读 · 0 评论 -
java高并发和负载均衡
一个小型的网站,比如个人网站,可以使用最简单的html静态页面就实现了,配合一些图片达到美化效果,所有的页面均存放在一个目录下,这样的网站对系统架构、性能的要求都很简单,随着互联网业务的不断丰富,网站相关的技术经过这些年的发展,已经细分到很细的方方面面,尤其对于大型网站来说,所采用的技术更是涉及面非常广,从硬件到软件、编程语言、数据库、WebServer、防火墙等各个领域都有了很高的要求,已经不是转载 2018-01-02 11:07:10 · 12825 阅读 · 0 评论 -
互联网公司面试必问的mysql题目(上)
什么是数据库事务?如果没有事物会有什么后果?事务的特性是什么?事务是指作为单个逻辑工作单元执行的一系列操作,可以被看作一个单元的一系列SQL语句的集合。要么完全地执行,要么完全地不执行。如果不对数据库进行并发控制,可能会产生 脏读、非重复读、幻像读、丢失修改的异常情况。事务的特性(ACID)A, atomacity 原子性 事务必须是原子工作单元;对于其数据修改,要么全都执行,要么...转载 2018-09-20 17:19:50 · 387 阅读 · 1 评论 -
互联网公司面试必问的mysql题目(下)
什么是数据库索引?索引有哪几种类型?什么是最左前缀原则?索引算法有哪些?有什么区别?索引是对数据库表中一列或多列的值进行排序的一种结构。一个非常恰当的比喻就是书的目录页与书的正文内容之间的关系,为了方便查找书中的内容,通过对内容建立索引形成目录。索引是一个文件,它是要占据物理空间的。主键索引: 数据列不允许重复,不允许为NULL.一个表只能有一个主键。唯一索引: 数据列不允许重复,允许...转载 2018-09-20 16:22:19 · 435 阅读 · 0 评论 -
Mysql 子查询
一、子查询定义 定义: 子查询允许把一个查询嵌套在另一个查询当中。 子查询,又叫内部查询,相对于内部查询,包含内部查询的就称为外部查询。 子查询可以包含普通select可以包括的任何子句,比如:distinct、 group by、order by、limit、join和union等;但是对应的外部查询必须是以下语句之一:select、insert、update、delet...转载 2018-09-20 13:43:26 · 440 阅读 · 0 评论 -
Mysql创建索引
摘自:http://blog.chinaunix.net/uid-25063573-id-3032578.html1.索引作用在索引列上,除了上面提到的有序查找之外,数据库利用各种各样的快速定位技术,能够大大提高查询效率。特别是当数据量非常大,查询涉及多个表时,使用索引往往能使查询速度加快成千上万倍。例如,有3个未索引的表t1、t2、t3,分别只包含列c1、c2、c3,每个表分别含有1...转载 2018-09-20 11:11:55 · 156 阅读 · 0 评论 -
count(1)和count(*),count(列名)区别
执行效果: 1. count(1) and count(*)当表的数据量大些时,对表作分析之后,使用count(1)还要比使用count(*)用时多了! 从执行计划来看,count(1)和count(*)的效果是一样的。 但是在表做过分析之后,count(1)会比count(*)的用时少些(1w以内数据量),不过差不了多少。 如果count(1)是聚索引,id,那肯定是...转载 2018-09-19 15:37:59 · 765 阅读 · 0 评论 -
关于GROUP BY和聚合函数
可以这样去理解group by和聚合函数转自 http://www.cnblogs.com/wiseblog/articles/4475936.html写在前面的话:用了好久group by,今天早上一觉醒来,突然感觉group by好陌生,总有个筋别不过来,为什么不能够select * from Table group by id,为什么一定不能是*,而是某一个列或者某个列的聚合函数,g...转载 2018-09-19 15:14:22 · 748 阅读 · 0 评论 -
sqlserver日期函数
系统函数函数参数/功能GetDate( )返回系统目前的日期与时间DateDiff (interval,date1,date2)以interval 指定的方式,返回date2 与date1两个日期之间的差值 date2-date1DateAdd (interval,number,date)以interval指定的方式,加上number之后的日期DatePart (interval,date)返回日...原创 2018-04-02 10:35:26 · 271 阅读 · 0 评论 -
T-SQL_常用内置函数和操作
数据操作SELECT --从数据库表中检索数据行和列INSERT --向数据库表添加新数据行DELETE --从数据库表中删除数据行UPDATE --更新数据库表中的数据 数据定义CREATE TABLE --创建一个数据库表DROP TABLE --从数据库中删除表ALTER TABLE --修改数据库表结构CREATE VIEW --创建一个视图转载 2018-01-11 16:49:16 · 311 阅读 · 0 评论 -
MySQL + Navicat 的安装步骤
转自:http://blog.sina.com.cn/s/blog_a1fe925601015fd1.html转载 2016-11-03 10:15:41 · 642 阅读 · 0 评论 -
sqlserver创建表
1:在sql语句中,临时表有两类,分别是局部(local)和全局(global)临时表,局部临时表只在其会话(事务)中可见,全局临时表可以被会话(事务)中的任何程序或者 模块访问2:创建局部临时表 [sql] view plaincopy01.use db_sqlserver 02.go 03.create table #db_local_table转载 2015-04-08 15:41:37 · 828 阅读 · 0 评论 -
jdbc自写sql语句
新增语句: 查询语句:原创 2014-08-14 14:47:26 · 1134 阅读 · 0 评论 -
sql where 1=1和 0=1 的作用
where 1=1; 这个条件始终为True,在不定数量查询条件情况下,1=1可以很方便的规范语句。一、不用where 1=1 在多条件查询中的困扰 举个例子,如果您做查询页面,并且,可查询的选项有多个,同时,还让用户自行选择并输入查询关键词,那么,按平时的查询语句的动态构造,代码大体如下: string MySqlStr=”select * from table wh转载 2013-09-09 15:01:17 · 1098 阅读 · 0 评论 -
数据库连接池的工作原理
随着信息技术的高速发展与广泛应用,数据库技术在信息技术领域中的位置越来越重要,尤其是网络应用和电子商务的迅速发展,都需要数据库技术支持动态Web站点的运行,而传统的开发模式是:首先在主程序(如Servlet、Beans)中建立数据库连接;然后进行SQL操作,对数据库中的对象进行查询、修改和删除等操作;最后断开数据库连接。使用这种开发模式,对于一个简单的数据库应用,由于数据库的访问不是很频繁,只需要转载 2013-08-05 18:05:25 · 723 阅读 · 0 评论 -
数据库事务
一个事务是不可分割的一组数据操作。数据库事务(Database Transaction) ,是指作为单个逻辑工作单元执行的一系列操作。 事务处理可以确保除非事务性单元内的所有操作都成功完成,否则不会永久更新面向数据的资源。通过将一组相关操作组合为一个要么全部成功要么全部失败的单元,可以简化错误恢复并使应用程序更加可靠。一个逻辑工作单元要成为事务,必须满足所谓的ACID(原子性、一致原创 2013-07-02 13:37:33 · 565 阅读 · 0 评论 -
Mysql性能优化二
原贴:http://leftleg.hzpub.com/read.php?671MySQL的性能优化 [什么是我们能和应该优化的Hardware OS / libraries SQL server (setup and queries) API Application 优化硬件如果你需要大表(>2G),你应该考虑使用64位硬件,像Alpha,转载 2013-07-01 10:47:12 · 539 阅读 · 0 评论 -
MySQL性能优化 .
性能优化 性能优化是通过某些有效的方法提高MySQL数据库的性能。性能优化的目的是为了使MySQL数据库运行速度更快、占用的磁盘空间更小。性能优化包括很多方面,例如优化查询速度、优化更新速度、优化MySQL服务器等。 - 性能优化的介绍 - 优化查询 - 优化数据库结构 - 优化MySQL服务器转载 2013-07-01 10:44:29 · 789 阅读 · 0 评论 -
mysql 内连接和外连接 .
转自:http://blog.chinaunix.net/u3/90025/showart_1769183.html面试的时候被问到mysql的内连接和外连接,很久没接触了,上网查了一下,特此转来一篇好的博文分享。 /×------------------------------------------------------------×/ 弄个例题,直观一点。两个表:转载 2013-07-01 10:31:20 · 2455 阅读 · 0 评论 -
SQL Server 创建视图
什么是视图 大家都知道,我们国家现在“神七”上天了。从美国的月球登月开始,人类上天不再是神话。听说,在美国,你只要出几十万美元,您就可以上一次月球进行太空旅行,所以,我们相信:在不久的将来,上天旅行将走进我们百姓的生活,那是一件多么新鲜神奇的事情啊。好多美国人上天后,他们用望远镜观看我们的地球,结果看到的地球形状各不相同。有的说象绿色的橘子,有的说象白色的大鸭梨,有的说象蓝色的大西瓜。转载 2013-06-21 10:40:28 · 493 阅读 · 0 评论 -
SQL Server创建存储过程
什么是存储过程?q 存储过程(procedure)类似于C语言中的函数q 用来执行管理任务或应用复杂的业务规则q 存储过程可以带参数,也可以返回结果q 存储过程可以包含数据操纵语句、变量、逻辑 控制语句等 存储过程的优点(1)执行速度快。存储过程创建是就已经通过语法检查和性能优化,在执行时无需每次编译。存储在数据库转载 2013-06-21 10:03:17 · 463 阅读 · 0 评论 -
sql 根据日期模糊查询&SQL Server dateTime类型 模糊查询
曾经遇到这样的情况,在数据库的Meeting表中有PublishTime (DateTime,8)字段,用来存储一个开会时间,在存入时由于要指明开会具体时间,故格式为yyyy-mm-dd hh:mm:ss,而我们查询时是通过yyyy-mm-dd来进行的,即查询某一天的所有会议信息,这样如果通过select * from Meeting where PublishTime=@PublishTime转载 2013-09-25 16:39:36 · 6549 阅读 · 0 评论 -
Oralce 索引
选择性索引的选择性是指索引列中不同值的数目与表中记录数的比。如果一个表中有2000条记录,表索引列有1980个不同的值,那么这个索引的选择性就是1980/2000=0.99。一个索引的选择性越接近于1,这个索引的效率就越高。如果是使用基于cost的最优化,优化器不应该使用选择性不好的索引。如果是使用基于rule的最优化,优化器在确定执行路径时不会考虑索引的选择性(除转载 2014-03-17 23:00:58 · 578 阅读 · 0 评论 -
SQL的内连接与外连接
在oracle的SQL语句常用的连接有内连接(inner join),外连接(outer join)等,内连接又包括等值连接,非等值连接,自连接;而外连接又分为左连接和右连接。其中默认的是内连接的等值连接。 为了方便我们创建两张最简易的表A、B,具体的表结构参看下面,来分析内连接与外连接的区别 图1转载 2014-03-17 23:03:17 · 467 阅读 · 0 评论 -
在Tomcat配置JNDI数据源的三种方式 .
在我过去工作的过程中,开发用服务器一般都是Tomcat数据源的配置往往都是在applicationContext.xml中配置一个dataSource的bean然后在部署时再修改JNDI配置我猜是因为Tomcat的配置需要改配置文件不像JBoss,Weblogic等服务器在管理界面可以直接添加JNDI数据源也很少人去研究它的配置最近做了个小项目,发布转载 2014-08-07 17:39:40 · 497 阅读 · 0 评论 -
面试笔试常考的mysql 数据库操作group by .
IT 面试中,数据库的相关问题基本上属于必考问题,而其中关于sql语句也是经常考察的一个重要知识点。下面介绍下sql语句中一个比较重要的操作group by,他的重要行一方面体现在他的理解困难度,一方面体现应用中的长见性。首先,给出一个studnet学生表:[sql] view plaincopyprint?CREATE TABLE `stu转载 2014-08-07 09:34:40 · 1076 阅读 · 0 评论 -
面向程序员的数据库访问性能优化法则
特别说明:1、 本文只是面对数据库应用开发的程序员,不适合专业DBA,DBA在数据库性能优化方面需要了解更多的知识;2、 本文许多示例及概念是基于Oracle数据库描述,对于其它关系型数据库也可以参考,但许多观点不适合于KV数据库或内存数据库或者是基于SSD技术的数据库;3、 本文未深入数据库优化中最核心的执行计划分析技术。 读者对像:开发人员:如果你是做数据库开发,转载 2014-03-26 15:58:49 · 468 阅读 · 0 评论 -
SQL的内连接与外连接
在oracle的SQL语句常用的连接有内连接(inner join),外连接(outer join)等,内连接又包括等值连接,非等值连接,自连接;而外连接又分为左连接和右连接。其中默认的是内连接的等值连接。 为了方便我们创建两张最简易的表A、B,具体的表结构参看下面,来分析内连接与外连接的区别 图1转载 2014-03-20 23:06:00 · 1145 阅读 · 0 评论 -
Mysql 存储过程和函数区别
存储过程是用户定义的一系列sql语句的集合,涉及特定表或其它对象的任务,用户可以调用存储过程,而函数通常是数据库已定义的方法,它接收参数并返回某种类型的值并且不涉及特定用户表。 存储过程和函数存在以下几个区别: 1)一般来说,存储过程实现的功能要复杂一点,而函数的实现的功能针对性比较强。存储过程,功能强大,可以执行包括修改表等一系列数据库操作;用户定义函数不能用于执行一组修改全转载 2014-03-20 21:23:00 · 811 阅读 · 0 评论 -
触发器
触发器 Oracle 触发器 : 触发器是特定事件出现的时候,自动执行的代码块。类似于存储过程,但是用户不能直接调用他们。 功能: 1 、 允许 / 限制对表的修改 2 、 自动生成派生列,比如自增字段 3 、 强制数据一致性 4 、 提供审计和日志记录 5 、 防止无效的事务处理 6 、 启用复杂的业务逻辑 开始 :转载 2014-03-20 22:13:19 · 1042 阅读 · 0 评论