SqlServer

SQL Server 存储过程 SET 语句选项

SET语句选项当创建或更改Transact-SQL存储过程后,数据库引擎将保存SETQUOTED_IDENTIFIER和SETANSI_NULLS的设置。执行存储过程时,将使用这些原始设置。因此,在执行存储过程时,将忽略任何客户端会话的SETQUOTED_IDENTIFIER和SETANSI_NULLS设置。在存储过程中出现的SETQUOTED_IDENTIFIER和SETANSI_NULLS语句不影响存储过程的功能。其他SET选项(例如SETARITHA

系统 2019-08-12 01:34:03 2698

SqlServer

MSSQL:修改tempdb设置增加DW性能

TempDB在DW中变得非常重要,因为要进行大量的运算,如果内存不够数据就会放在TempDB中1.把TempDB移动到高性能的磁盘上。2.增加tempdb的大小3.把AutoShrink设置为FalseMSSQL:修改tempdb设置增加DW性能

系统 2019-08-12 01:33:28 2698

Oracle

Oracle高级查询

使用Oracle特有的查询语法,可以达到事半功倍的效果1.树查询createtabletree(idnumber(10)notnullprimarykey,namevarchar2(100)notnull,supernumber(10)notnull//0isroot);--从子到父select*fromtreestartwithid=?connectbyid=priorsuper--从父到子select*fromtreestartwithid=?conn

系统 2019-08-12 01:53:40 2697

数据库相关

2.SQLAlchemy文档-SQLAlchemy ORM(中文版)

接下来,我们将会对对象关系映射器进行全面的介绍和描述。如果你想用它为你的应用程序构建更高层次的SQL操作模式,以及为你的Python对象提供自动化的持久性功能,那么首先进行下列教程的学习吧。首先请看:对象关系理论指南ORM的基本配置:映射器的配置|关联的配置|继承映射|对象集合的高级配置配置的扩展:声名式的扩展|辅助代理|混合属性|可变标量|排序列表ORM的使用:会话的使用和指南|查询API|关联数据延迟加载技术ORM的扩展:ORM事件接口|内部API其它

系统 2019-08-12 01:53:37 2697

数据库相关

数据库设计的三大范式

为了建立冗余较小、结构合理的数据库,设计数据库时必须遵循一定的规则。在关系型数据库中这种规则就称为范式。范式是符合某一种设计要求的总结。要想设计一个结构合理的关系型数据库,必须满足一定的范式。在实际开发中最为常见的设计范式有三个:1.第一范式第一范式是最基本的范式。如果数据库表中的所有字段值都是不可分解的原子值,就说明该数据库表满足了第一范式。第一范式的合理遵循需要根据系统的实际需求来定。比如某些数据库系统中需要用到“地址”这个属性,本来直接将“地址”属性

系统 2019-08-12 01:52:48 2697

SqlServer

Sql Server触发器的原理及应用技巧

触发器是一种特殊的存储过程,它不能被显式地调用,而是在往表中插入记录、更改记录或者删除记录时,当事件发生时,才被自动地激活。2、这样做带来的'功能':触发器可以用来对表实施复杂的完整性约束,保持数据的一致性,当触发器所保护的数据发生改变时,触发器会自动被激活,响应同时执行一定的操作(对其它相关表的操作),从而保证对数据的不完整性约束或不正确的修改。触发器可以查询其它表,同时也可以执行复杂的T-SQL语句。触发器和引发触发器执行的命令被当作一次事务处理,因此

系统 2019-08-12 01:52:14 2697

Oracle

3-(初学)oracle10g创建对数据表操作的几种方法

一、使用oracle10g环境自带的WEB的EnterpriseManager:1、用自带的DatabaseConfigrationAssistant新建一个数据库(test)设定密码(test)。2、打开em,用system用户密码test登录。3、点击“管理”“表空间”“创建”输入用户名和存储位置完成一个表空间的创建(testspace).4、在管理页面找到“表”“创建”,选择“标准”,然后“继续”,输入表明称(testtable)选择表空间,添加列名

系统 2019-08-12 01:33:56 2697

MySql

MariaDB/Mysql之主从架构的复制原理及主从/双主

3.深入了解复制3.1、基于语句的复制(Statement-BasedReplication)MySQL5.0及之前的版本仅支持基于语句的复制(也叫做逻辑复制,logicalreplication),这在数据库并不常见。master记录下改变数据的查询,然后,slave从中继日志中读取事件,并执行它,这些SQL语句与master执行的语句一样。这种方式的优点就是实现简单。此外,基于语句的复制的二进制日志可以很好的进行压缩,而且日志的数据量也较小,占用带宽少

系统 2019-08-29 22:11:22 2696

Oracle

Oracle悲观锁和乐观锁

为了得到最大的性能,一般数据库都有并发机制,不过带来的问题就是数据访问的冲突。为了解决这个问题,大多数数据库用的方法就是数据的锁定。数据的锁定分为两种方法,第一种叫做悲观锁,第二种叫做乐观锁。什么叫悲观锁呢,悲观锁顾名思义,就是对数据的冲突采取一种悲观的态度,也就是说假设数据肯定会冲突,所以在数据开始读取的时候就把数据锁定住。而乐观锁就是认为数据一般情况下不会造成冲突,所以在数据进行提交更新的时候,才会正式对数据的冲突与否进行检测,如果发现冲突了,则让用户

系统 2019-08-12 01:53:18 2696

MySql

高性能mysql主主架构

A、环境描述服务器A(主)192.168.0.105服务器B(主)192.168.0.108Mysql版本:5.6.21SystemOS:CentOSrelease6.5主从需同步的数据库内容保持一致。B、主主配置过程(1)创建同步用户在主服务器上为从服务器建立一个连接帐户,该帐户必须授予REPLICAITONSLAVE权限。服务器A和服务器B互为主从,所以都要分别建立一个同步用户mysql>grantreplicationclient,replicati

系统 2019-08-12 01:53:10 2696

数据库相关

数据库一直显示恢复中。。记录一则处理数据库异

bug重现:1、压缩数据库日志2、重新生成某些表的索引,当生成最大表索引的时候(100G详细内容表)长时间无相应3、打开任务管理器发现内存耗尽,此时我点了下sql然后sms报错,然后sql死掉4、关闭进程,重启sql服务5、打开web服务器iis站点,发现无法访问数据库6、打开数据库服务器发现[数据库恢复中]点击展开提示数据库损坏。此时我慌了,认为这次闯祸了,nm500G数据啊而且最新备份是一个月前的。然后开始思考,是否需要重新启动下数据库?解决方案:1、

系统 2019-08-12 01:52:40 2696

Oracle

oracle面试题目总结

阿里巴巴公司DBA笔试题http://searchdatabase.techtarget.com.cn/tips/2/2535002.shtml注:以下题目,可根据自己情况挑选题目作答,不必全部作答.您也可以就相关问题直接找负责面试人员面述而不笔答一:SQLtuning类1:列举几种表连接方式2:不借助第三方工具,怎样查看sql的执行计划3:如何使用CBO,CBO与RULE的区别4:如何定位重要(消耗资源多)的SQL5:如何跟踪某个session的SQL6

系统 2019-08-12 01:51:48 2696

数据库相关

使用游标批量更改/填充数据表中的记录值(The Us

本文转自:http://www.wangchao.net.cn/bbsdetail_44678.html数据库测试中,常常需要对数据库中的表进行填充或者批量更改数据的操作,可以通过游标来实现对每一个查询记录的操作,通过rand()函数的使用获得随机数,将随机数插入到表中,即可更新或填充数据表。这里涉及到游标的使用,使用游标大体需要经过以下几个步骤:1.定义游标:declarecursor2.打开游标:opencursor3.取得游标中单个的记录,并将记录中

系统 2019-08-12 01:55:28 2695

数据库相关

uva 10069 Distinct Subsequences(高精度 + DP

题目连接:10069-DistinctSubsequences题目大意:给出两个字符串x(lenth<10000),z(lenth<100),求在x中有多少个z。解题思路:二维数组DP,有类似于求解最长公共子序列,cnt[i][j]表示在x的前j个字符中有多少个z前i个字符。状态转移方程1、x[j]!=z[i]cnt[i][j]=cnt[i][j-1];2、x[j]==z[i]cnt[i][j]=cnt[i][j-1]+cnt[i-1][j-1];计算的时

系统 2019-08-12 01:55:22 2695

数据库相关

boost 的函数式编程库 Phoenix入门学习

这篇文章是我学习boostphoenix的总结。序言Phoenix是一个C++的函数式编程(functionprogramming)库。Phoenix的函数式编程是构建在函数对象上的。因此,了解Phoenix,必须先从它的基础函数对象上做起。Phoenix能够提供令人惊艳的编码效果。我先撂一个出来,看看用Phoenix能写出什么样的代码:std::for_each(vec.begin(),vec.end(),if_(arg1>5)[std::cout<

系统 2019-08-12 01:54:47 2695