数据库相关 - 军军小站|张军博客
数据库相关

写有效率的SQL查询(VI)

我们先看NestedLoop和MergeJoin的算法(以下为引用,见RicCC的《通往性能优化的天堂-地狱JOIN方法说明》):==================================NestedLoop:foreachrowAintableAwheretableA.col2=?{searchrowsBfromtableBwheretableB.col1=rowA.col1andtableB.col2=?;if(rowsB.Count<=0)

系统 2019-08-12 01:54:04 1910

数据库相关

读取数据事务

最近研究读取数据,稍微总结一下,以后继续补充:事务(Transaction)是并发控制的基本单位。所谓的事务,它是一个操作序列,这些操作要么都执行,要么都不执行,它是一个弗成分割的工作单位。例如,银行转账工作:从一个账号扣款并使另一个账号增款,这两个操作要么都执行,要么都不执行。所以,应该把它们看成一个事务。事务是数据库维护数据一致性的单位,在每个事务结束时,都能坚持数据一致性。针对下面的描述可以看出,事务的提出重要是为了处理并发情况下坚持数据一致性的问题

系统 2019-08-12 01:53:57 1910

数据库相关

几种常见SQL分页方式效率比较

分页很重要,面试会遇到。不妨再回顾总结一下。1.创建测试环境,(插入100万条数据大概耗时5分钟)。createdatabaseDBTestuseDBTest--创建测试表createtablepagetest(idintidentity(1,1)notnull,col01intnull,col02nvarchar(50)null,col03datetimenull)--1万记录集declare@iintset@i=0while(@i<10000)begi

系统 2019-08-12 01:32:47 1910

数据库相关

spring 中StoredProcedure的使用方法

StoredProcedure是一个抽象类,必须写一个子类来继承它,这个类是用来简化JDBCTemplate运行存储过程操作的。首先我们写一个实现类:packagecom.huaye.framework.dao;importjava.sql.Types;importjava.util.HashMap;importjava.util.Map;importorg.springframework.jdbc.core.RowMapper;importorg.spr

系统 2019-08-12 01:54:28 1909

数据库相关

一些常见函数的内部实现(原)

一些常见函数的内部实现(原)WentaoSun1.子串查找:/*strtok_s*//**strtok_s,wcstok_s;*uses_Contexttokeeptrackofthepositioninthestring.*/_SAFECRT__EXTERN_Cchar*__cdeclstrtok_s(char*_String,constchar*_Control,char**_Context);#if_SAFECRT_USE_INLINES__inli

系统 2019-08-12 01:53:21 1909

数据库相关

SQL2005后的ROW_NUMBER()函数的应用

SQLServer2005后之后,引入了row_number()函数,row_number()函数的分组排序功能使这种操作变得非常简单分组取TOP数据是T-SQL中的常用查询,如学生信息管理系统中取出每个学科前3名的学生。这种查询在SQLServer2005之前,写起来很繁琐,需要用到临时表关联查询才能取到。SQLServer2005后之后,引入了row_number()函数,row_number()函数的分组排序功能使这种操作变得非常简单。下面是一个简单

系统 2019-08-12 01:51:46 1909

数据库相关

如何在非同步Postback过程中修改位于UpdatePane

ASP.NETAJAX当中有一个非常神奇好用的控件UpdatePanel,这个控件可以帮助我们轻易的达成非同步Postback的功能,让我们的.aspx页面上可以直接加入AJAX技术。时常有读者询问笔者一个问题,在UpdatePabel内所触发的事件当中,是否可以动态的更新布置在UpdatePanel"外的"控件?一般来说,我们使用UpdatePanel时可会这样布置:平常时候我们会把"需要以非同步方式动态更新"的控件放在UpdatePanel里,这时要更

系统 2019-08-12 01:32:30 1909

数据库相关

主流数据库字段类型总结

本文转自:http://qualenac.javaeye.com/blog/155652SYBASE的字段类型字段类型描述字段长度及其缺省值char(size)用于保存定长(size)字节的字符串数据。每行定长(不足部分补为空格);最大长度为255字节,缺省值为每行1字节。varchar(size)用于保存变长的字符串数据。其中最大字节长度由(size)指定。每行长度可变,最大长度为255字节。数据长度缺省为1nchar(size)多字节字符串。每行定长(

系统 2019-08-12 01:51:25 1908

数据库相关

sql内置函数pivot强大的行转列功能

原文:sql内置函数pivot强大的行转列功能语法:PIVOT用于将列值旋转为列名(即行转列),在SQLServer2000可以用聚合函数配合CASE语句实现PIVOT的一般语法是:PIVOT(聚合函数(列)FOR列in(…))ASP完整语法:table_sourcePIVOT(聚合函数(value_column)FORpivot_columnIN())UNPIVOT用于将列明转为列值(即列转行),在SQLServer2000可以

系统 2019-08-12 01:33:24 1908

数据库相关

SPFILE 错误导致数据库无法启动(ORA-01565)

--==========================================--SPFILE错误导致数据库无法启动(ORA-01565)--==========================================SPFILE错误导致数据库无法启动SQL>startupORA-01078:failureinprocessingsystemparametersORA-01565:errorinidentifyingfile'/u01/a

系统 2019-08-12 01:53:08 1907

数据库相关

PetShop4.0 学习总结----数据库访问层结构分析

最近在看PetShop4.0,暂且熟悉了一些数据库层的设计。看了看,其实也不是很复杂。主要就是使用了一个工厂,以及一个IOC以来注入。我所画的类图如下(不是很标准,自己的UML水品一般。。。)其中的web.config是我自己天上去的,主要就是为了说明一下IOC的问题。其中的Model主要定义了一些实体类。IDAL提供了数据库访问层的抽象,分别有SQLDAL和OracleDAL去实现。DALFactory是一个反射工厂,通过读取配置文件中的配置,判断使用的

系统 2019-08-12 01:33:39 1907

数据库相关

批量备份数据库

SQLServer游标运用:批量备份数据库2014-02-1014:59by听风吹雨,590阅读,8评论,收藏,编辑一、背景在公司的内网有台数据库的测试服务器,这台服务器是提供给开发人员使用的,在上面有很多的数据库,有些是临时系统用到的数据库,这些数据库有一个共同点:数据库表结构比较重要,数据库只有一些测试数据,也就是说这些数据库都很小,而整台服务器的数据库又非常多;现在有这样一个需求,希望间隔一段时间就备份所有数据库,所以这里写了这篇文章,这也是另外一篇

系统 2019-08-12 01:55:15 1906

数据库相关

js字符串函数

JS自带函数concat将两个或多个字符的文本组合起来,返回一个新的字符串。vara="hello";varb=",world";varc=a.concat(b);alert(c);//c="hello,world"indexOf返回字符串中一个子串第一处出现的索引(从左到右搜索)。如果没有匹配项,返回-1。varindex1=a.indexOf("l");//index1=2varindex2=a.indexOf("l",3);//index2=3cha

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

数据库相关

存储过程中对于文本是两个单引号,而不是一个单

刚开始以为是一个单引号,或者是一个双引号,没想到是两个单引号,郁闷例如下面SET@SQLOne='INSERTINTO#ddlist(DDGuid,HBGUID,EnumDDLY,DDType,LYDH,DJBH,RQ,SJJE,WLFY,SumMoney,Audit,Auditor,AuditTime,Record,RecordTime)SELECTdbo.DD.GuidASDDGuid,dbo.DD.HBGUID,(CASEdbo.DD.DDLYWHE

系统 2019-08-12 01:52:09 1905

数据库相关

为代码减负之<二>存储过程(SQL)

在上篇博客中介绍到了触发器的使用,而且当中也提到了触发器是个特殊的存储过程,那么什么是存储过程呢?他们两个又究竟有什么差别呢?事实上最基本的差别就是,触发器是当满足条件时系统自己主动运行的,而存储过程是手动调用的。简介什么是存储过程?定义:将经常使用的或非常复杂的工作,预先用SQL语句写好并用一个指定的名称存储起来,用户通过指定存储过程的名字并给出參数(假设该存储过程带有參数)来调用它。说到这里,可能有人要问:这么说存储过程不就是一堆SQL语句而已吗?那么

系统 2019-08-12 01:54:44 1904