数据库取前几条记录的语句
1. ORACLE
SELECT * FROM TABLE1 WHERE ROWNUM<=N
2. INFORMIX
SELECT FIRST N * FROM TABLE1 where 1=1
3. DB2
SELECT * ROW_NUMBER() OVER(ORDER BY COL1 DESC) AS ROWNUM WHERE ROWNUM<=N
或者
SELECT COLUMN FROM TABLE where 1=1 FETCH FIRST N ROWS ONLY
4. SQL SERVER
SELECT TOP N * FROM ...
1. /*+ALL_ROWS*/
表明对语句块选择基于开销的优化方法,并获得最佳吞吐量,使资源消耗最小化.
例如:
SELECT /*+ALL+_ROWS*/ EMP_NO,EMP_NAM,DAT_IN FROM BSEMPMS WHERE EMP_NO='SCOTT';
2. /*+FIRST_ROWS*/
表明对语句块选择基于开销的优化方法,并获得最佳响应时间,使资源消耗最小化.
例如:
SELECT /*+FIRST_ROWS*/ EMP_NO,EMP_NAM,DAT_IN FROM BSEMPMS WHERE EMP_NO='SCOTT';
3. /*+CHOOSE*/
表明如果 ...
用于分层的sql
select level,m.*
from (select a.* from test a) m
where 1=1
start with m.col1 is null
connect by prior m.col1 = m.col11
其中col11为col1的上层关系
查詢每一分組的第n條數据
SELECT * FROM
(SELECT A_TABLE.*,ROW_NUMBER() OVER (PARTITION BY COL1 ORDER BY COL2) THEROW FROM A_TABLE ) A
WHERE THEROW ...
SQL Server数据库备份有两种方式,一种是使用BACKUP DATABASE将数据库文件备份出去,另外一种就是直接拷贝数据库文件mdf和日志文件ldf的方式。下面将主要讨论一下后者的备份与恢复。本文假定您能熟练使用SQL Server EntERPrise Manager(SQL Server企业管理器)和SQL Server Quwey Analyser(SQL Server查询分析器)
1、正常的备份、SQL数据库恢复方式
正常方式下,我们要备份一个数据库,首先要先将该数据库从运行的数据服务器中断开,或者停掉整个数据库服务器,然后复制文件。
卸下数据库的命令:Sp_detac ...
优化SQl语句的十个重要步骤:
1.确保TIMED_STATISTICS在实例级设置为TRUE。
2.确保MAX_DUMP_FILE_SIZE设置为足够大的值。
3.确定指向USER_DUMP_DEST的位置,并确保有足够大的值。
4.为正在被讨论的会话开启SQL_TRACE。
5.运行应用程序。
6.确定跟踪文件的位置。
7.在步骤6所确定的跟踪文件上运行tkprof以产生跟踪输出文件。
8.研究跟踪输出文件。
9.优化最昂贵的SQL语句。
10.反复运行步骤4到步骤9,直到所需的性能目标达到为止。
数据库系统的安全性很大程度上依赖于数据库管理系统。如果数据库管理系统安全机制非常强大,则数据库系统的安全性能就较好。目前市场上流行的是关系式数据库管理系统,其安全性功能很弱,这就导致数据库系统的安全性存在一定的威胁。
由于数据库系统在操作系统下都是以文件形式进行管理的,因此入侵者可以直接利用操作系统的漏洞窃取数据库文件,或者直接利用OS工具来非法伪造、篡改数据库文件内容。这种隐患一般数据库用户难以察觉,分析和堵塞这种漏洞被认为是B2级的安全技术措施。
数据库管理系统层次安全技术主要是用来解决这一问题,即当前面两个层次已经被突破的情况下仍能保障数据库数据的安全,这就要求数据库管理 ...
一些ORACLE中的进程被杀掉后,状态被置为"killed",但是锁定的资源很长时间不释放,有时实在没办法,只好重启数据库。现在提供一种方法解决这种问题,那就是在ORACLE中杀不掉的,在OS一级再杀。
1.下面的语句用来查询哪些对象被锁:
select object_name,machine,s.sid,s.serial#
from v$locked_object l,dba_objects o ,v$session s
where l.object_id = o.object_id and l.session_id=s.sid;
2.下面的语句用来杀死一个进程:
alter ...
据外國媒體报道,甲骨文公司最近的用户调查表明,开源软件正在占领甲骨文数据库软件的安装份额,约60%的IT设施在使用某种形式的开源软件。
由独立甲骨文用户集团(IOUG)实施的这次调查发现,绝大多数开源应用属于企业应用软件的边缘,例如网络服务器或单一功能服务器。
甲骨文用户集团总裁兼CEO Kaplan说,MySQL是替代甲骨文软件的最流行开源软件,根据对269名用户的调查,MySQL用户占33%。然后是PostSQL用户,占9%。
调查还表明,三分之一的受访者认为,开源软件的维护与支持正日益成为问题。IT经理们仍然要求甲骨文公司或第三方支持公司提供开源软件技术支持,他们要求甲骨文团 ...
Oracle的exp/imp是许多用户经常使用的两个工具. 它们常被用来做数据库的逻辑备份,数据库重组和数据转移等工作. 先由exp把数据卸出到文件系统, 产生一个.dmp文件, 然后必要时再由imp将数据装入数据库. 对于一般中小型数据库来说, 全数据库的exp所产生的dmp文件可能小于2GB, 但对稍大型的数据库, exp产生的数据动辄数十至上百个GB. 而现时多数操作系统为32位, 其文件系统允许的最大文件为2GB. 这样显然不能由文件系统存放exp产生的数据. 这是问题之一. 另一个问题是随着数据库的不断增大, exp所需时间越来越长以致实际上很难实施. 本文针对以上两个问题讨论相应对 ...
Oracle 支持的 2 种事务隔离级别 Read committed 和 Serializable
根據官方資料,它們的區別如下:
动作 Read Committed Serializable
Dirty write Not possible Not possible
Dirty read Not possible Not possible
Nonrepeatable read Possible Not possib ...
我觉得主要应该从5个方面进行调整:
1.去掉不必要的大型表的全表扫描
2.缓存小型表的全表扫描
3.检验优化索引的使用
4.检验优化的连接技术
5.尽可能减少执行计划的Cost
现在简单的举几个例子
Where子句中有“!=”将不使用索引
select account_name from test where amount != 0 (不使用)
select account_name from test where amount > 0 (使用)
Where条件中对字段增加处理函数将不使用该列的索引
select * from emp where to_char(hire_date, ...
- 浏览: 38975 次
- 性别:

- 来自: 深圳

- 详细资料
搜索本博客
最新评论
-
看百家讲坛有感
不要过分的鼓吹信仰,什么事一到了信仰的程度就开始让人不加思考的接受。什么宗教信仰 ...
-- by catail -
看百家讲坛有感
呵呵,这个不错,强烈支持这个观点。
-- by ziping_happy -
IT行业35岁以后就真的没人 ...
-- by racnow -
看百家讲坛有感
有意思,看来得去买部碟来好好看看 百家讲坛还有 地球与发现
-- by spiritfrog -
取得真经100年之后的唐僧 ...
中庸之道,有这样的管理者和管理思想,难怪中国出不了顶尖技术人才。
-- by chenjf2k






评论排行榜