![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据库
文章平均质量分 60
sxty0220
这个作者很懒,什么都没留下…
展开
-
SQLite
单个数据库文件中的提交 步骤如下:(1) 获得共享锁。SQLITE在更新数据库之前要先读数据库,所以要先获得共享锁。SQLite的共享锁是针对操作系统缓存的,而非磁盘文件,进程消失或系统崩溃都会导致锁丢失。(2) 读取数据从磁盘读到操作系统缓存,再读到用户进程。(3) 申请一个保留锁(Reserved Lock)保留锁的作用是告诉数据库我要修改数据库了,其他事务不能原创 2012-02-25 14:49:17 · 709 阅读 · 1 评论 -
[转载]SQL日志log的ldf文件太大时处理方法
在SQL Server中经常遇到事务日志变大的情况,除了将数据库设置为“自动收缩”外,还可以使用下面的SQL命令进行快速清除数据库中的事务日志,命令如下: - 第一步:清空日志 DUMP TRANSACTION databasename WITH NO_LOG -- 第二步:截断事务日志 BACKUP LOG databasename转载 2015-01-13 21:54:55 · 11878 阅读 · 0 评论 -
查询和删除表中重复数据sql语句
1、查询表中重复数据。select * from peoplewhere peopleId in (select peopleId from people group by peopleId having count(peopleId) > 1)2、删除表中多余的重复记录,重复记录是根据单个字段(peopleId)来判断,只留有rowid最小的记录d转载 2015-01-14 20:09:20 · 636 阅读 · 0 评论 -
提高查询效率对查询进行优化
1.对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引。 2.应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放弃使用索引而进行全表扫描,如: select id from t where num is null 可以在num上设置默认值0,确保表中num列没有null值,然后这样查询: sel转载 2015-01-19 15:02:05 · 773 阅读 · 0 评论 -
SQL Server日志清除的好用方案
SQL Server日志清除方法一一般情况下,SQL数据库的收缩并不能很大程度上减小数据库大小,其主要作用是收缩日志大小,应当定期进行此操作以免数据库日志过大1、设置数据库模式为简单模式:打开SQL企业管理器,在控制台根目录中依次点开Microsoft SQL Server-->SQL Server组-->双击打开你的服务器-->双击打开数据库目录-->选择你的数据库名称(转载 2015-01-19 14:58:08 · 665 阅读 · 0 评论 -
SQL Server中 ldf 文件过大的解决方法
在SQL Server中经常遇到事务日志变大的情况,除了将数据库设置为“自动收缩”外,还可以使用下面的SQL命令进行快速清除数据库中的事务日志,命令如下: - 第一步:清空日志 DUMP TRANSACTION databasename WITH NO_LOG -- 第二步:截断事务日志 BACKUP LOG databasena转载 2015-01-22 10:50:55 · 1990 阅读 · 0 评论 -
sp_addlinkedserver 分布式查询
/*不同服务器数据库之间的数据操作*/ --创建链接服务器 exec sp_addlinkedserver 'ITSV ', ' ', 'SQLOLEDB ', '远程服务器名或ip地址 ' exec sp_addlinkedsrvlogin 'ITSV ', 'false ',null, '用户名 ', '密码 ' --查询示例 select转载 2015-01-05 21:51:37 · 764 阅读 · 0 评论 -
sqlserver2008导出表数据和表结构sql文件
sqlserver2008导出表数据和表结构sql文件|浏览:1447 |更新:2014-08-15 09:14 1 2 3 4 5 6 7 分步阅读百度经验:jingyan.baidu.com在日常的开发过程中,经常需要导出某个数据库中,某些表数据;或者,需转载 2015-01-05 21:07:45 · 1112 阅读 · 0 评论 -
SQLServer中事务日志已满的原因以及解决办法
SQLServer中事务日志已满的原因以及解决办法错误描述:数据库的事务日志已满。若要查明无法重用日志中的空间的原因 ,请参阅sys.databases 中的 log_reuse_wait_desc 列 。首先引入一下事务日志的概念(来自百度百科):事务日志是一个与数据库文件分开的文件。它存储对数据库进行的所有更改,并全部记录插入、更新、删除、提交、回退和数据库模式变化转载 2015-07-27 18:26:38 · 27177 阅读 · 0 评论 -
SQL优化规则
SQL语句的优化规则(1)去掉不必要的大表、全表扫描。不必要的大表、全表扫描会造成不必要的输入输出,而且还会拖垮整个数据库;(2)检查优化索引的使用 这对于提高查询速度来说非常重要;(3)检查子查询,考虑SQL子查询是否可以用简单连接的方式进行书写;(4)调整PCTFREE和PCTUSED等存储参数优化插入、更新或者删除等操作;(5)考虑数据库的优化器;(6)考虑数据表的全...转载 2019-09-11 11:09:05 · 151 阅读 · 0 评论 -
查询速度慢的原因及如何解决
查询速度慢的原因很多,常见如下几种:1、没有索引或者没有用到索引(这是查询慢最常见的问题,是程序设计的缺陷)2、I/O吞吐量小,形成了瓶颈效应。3、没有创建计算列导致查询不优化。4、内存不足5、网络速度慢6、查询出的数据量过大(可以采用多次查询,其他的方法降低数据量)7、锁或者死锁(这也是查询慢最常见的问题,是程序设计的缺陷)8、sp_lock,sp_who,活动的用户查看,原因是...原创 2019-09-20 14:40:43 · 3601 阅读 · 0 评论 -
SQL Server,Oracle,DB2数据库SQL语句比较
1.1.1 取前n条记录 SQL Server: Select top n * from xtableOracle: Select * from xtable where rownum <=nDB2: Select * from xtable fetch first n rows only1.1.2 取当前日期 SQL Server: Select getdate(转载 2013-03-22 14:50:44 · 2008 阅读 · 0 评论 -
免安装oraclient完整客户端连接oraclient服务器
1.将精简oracle客户端文件夹放到任意盘的根目录下: 如e:oraclient2.配置e:oraclient的tnsnames.ora文件,只需要修改其中的oraclient服务器地址、服务名称和端口。 3、配置环境变量,在PATH变量中加入e:oraclient4、注册表加入下面键值 [HKEY_LOCAL_MACHINESYSTEMCurrentControlSe转载 2013-02-25 17:46:15 · 1724 阅读 · 0 评论 -
Oracle tns配置的6种常见错误解决问题
常见问题:1、ORA-12541:tns:没有监听器:显而易见,服务器端的监听器没有启动,另外检查客户端IP地址或端口填写是否正确。启动监听器:$lsnrctlstart或C:\lsnrctlstart。2、ORA-12500:tns:监听程序无法启动专用服务器进程:对于Windows而言,没有启动Oracle实例服务。启动实例服务:C:\oradim–startup-sidm原创 2012-02-27 14:16:06 · 2075 阅读 · 0 评论 -
Access日期时间函数
1、在查询中格式化输出日期 Format(date(), "yyyy-mm-dd") 2、计算两个日期的差值 DateDiff(interval, date1, date2[, firstdayofweek[, firstweekofyear]]) 3、日期加上一段时间 DateAdd(interval, number, date) 4、取得日期的一部分 D原创 2012-03-03 15:28:51 · 1452 阅读 · 0 评论 -
数据库查询优化方案
1.对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引。2.应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放弃使用索引而进行全表扫描,如:select id from t where num is null可以在num上设置默认值0,确保表中num列没有null值,然后这样查询:select id f原创 2012-03-06 10:52:00 · 492 阅读 · 0 评论 -
存储过程
存储过程(Stored Procedure)是在大型数据库系统中,一组为了完成特定功能的SQL 语句集,经编译后存储在数据库中,用户通过指定存储过程的名字并给出参数(如果该存储过程带有参数)来执行它。 在大型数据库系统中,存储过程和触发器具有很重要的作用。无论是存储过程还是触发器,都是SQL 语句和流程控制语句的集合。就本质而言,触发器也是一种存储过程。存储过程在运算时生成执行方式,所以,以后原创 2012-03-07 16:44:57 · 490 阅读 · 0 评论 -
触发器
触发器的概念及作用 触发器是一种特殊类型的存储过程,它不同于我们前面介绍过的存储过程。触发器主要是通过事件进行触发而被执行的,而存储过程可以通过存储过程名字而被直接调用。当对某一表进行诸如Update、 Insert、 Delete 这些操作时,SQL Server 就会自动执行触发器所定义的SQL 语句,从而确保对数据的处理必须符合由这些SQL 语句所定义的规则。 触发器的主要作原创 2012-03-07 16:46:08 · 451 阅读 · 0 评论 -
存储过程的格式
常用格式 Create procedure procedure_name [@parameter data_type][output] [with]{recompile|encryption} as sql_statement 解释: output:表示此参数是可传回的 with {recompile|encryption翻译 2012-03-07 16:47:43 · 1327 阅读 · 0 评论 -
在SQL Server 2005中创建数据库镜像的步骤及事项
一,在主体和镜像服务器两台机器分别做如下设置,@新建隶属administrators组的用户,比如sqladmin;@在服务中将MSSqlserver服务改为用sqladmin登陆启动,重启服务;@一个相同用户名和密码的SQL登陆账号,比如sa;@在防火墙(比如Windows防火墙)中开放端口,1433,5022. 二、备份和还原@将主体服务器数据库完整备份,事务日志备转载 2012-03-21 16:28:21 · 558 阅读 · 0 评论 -
数据库死锁的解决办法
近日在博客网站上,回复别人的数据库死锁避免问题,之前也曾经几次答复过同样的内容,觉得很有必要汇聚成一个博客文章,方便大家。这里的办法,对所有的数据库都适用。 这个解决办法步骤如下:1. 每个表中加 updated_count (integer) 字段 2. 新增一行数据,updated_count =0 :insert into table_x (f1,f2,...,u转载 2012-03-21 16:31:41 · 540 阅读 · 0 评论 -
oracle 存储过程的基本语法
1.基本结构 CREATE OR REPLACE PROCEDURE 存储过程名字( 参数1 IN NUMBER, 参数2 IN NUMBER) IS变量1 INTEGER :=0;变量2 DATE;BEGINEND 存储过程名字2.SELECT INTO STATEMENT 将select查询的结果存入到变量中,可以同时将多个列存储多转载 2012-10-07 18:42:04 · 504 阅读 · 0 评论 -
优化MYSQL数据库的方法
(1).数据库设计方面,这是DBA和Architect的责任,设计结构良好的数据库,必要的时候,去正规化(英文是这个:denormalize,中文翻译成啥我不知道),允许部分数据冗余,避免JOIN操作,以提高查询效率(2).系统架构设计方面,表散列,把海量数据散列到几个不同的表里面.快慢表,快表只留最新数据,慢表是历史存档.集群,主服务器Read & write,从服务器read only原创 2012-10-07 18:31:06 · 662 阅读 · 0 评论 -
sql语句性能如何优化
询速度慢的原因很多,常见如下几种:1、没有索引或者没有用到索引(这是查询慢最常见的问题,是程序设计的缺陷)2、I/O吞吐量小,形成了瓶颈效应。3、没有创建计算列导致查询不优化。4、内存不足5、网络速度慢6、查询出的数据量过大(可以采用多次查询,其他的方法降低数据量)7、锁或者死锁(这也是查询慢最常见的问题,是程序设计的缺陷)8、sp_lock,sp_who,活动的用户查看,原因是读...原创 2019-09-11 11:24:03 · 315 阅读 · 0 评论