DB
文章平均质量分 55
老任物联网杂谈
这个作者很懒,什么都没留下…
展开
-
sql server系统表详细说明
<br />sysaltfiles 主数据库 保存数据库的文件<br />syscharsets 主数据库字符集与排序顺序<br />sysconfigures 主数据库 配置选项<br /> syscurconfigs 主数据库当前配置选项<br /> sysdatabases 主数据库服务器中的数据库<br /> syslanguages 主数据库语言<br /> syslogins 主数据库 登陆帐号信息<br /> sysoledbusers 主数据库 链接服务器登陆信息<br /> s转载 2010-07-10 10:28:00 · 446 阅读 · 0 评论 -
Oracle RowID的概念
本文讨论的是关于oracle从8i开始引进object的概念后的rowid,即扩展(extended)的rowid:1. rowid的介绍先对rowid有个感官认识:SQL> select ROWID from Bruce_test where rownumROWID------------------ ----------AAABnlAAFAA转载 2012-09-24 20:40:11 · 1831 阅读 · 0 评论 -
Oracle中的Schema和User
在产品detail拆分项目中,由于需要将原来的Product表拆分为Product、Product_detail两个表,数据库采取的方法是新建了一个Schema——alibaba1949。对schema不了解,现在也对其进行了一点学习。Oracle数据库中Schema和User的关系是一一对应的,也就是说一个Schema只对应一个User,一个User对应一个Schema。Oracle转载 2012-09-24 18:33:04 · 852 阅读 · 0 评论 -
oracle Like模糊查询与带有关键字Reverse的索引应用
在对oracle的SQL优化过程中经常会遇到【like'%abc'】破坏索引的问题,但是如果真有此类需求,该如何在不破坏索引的基础上进行查询呢。上代码sys@mescp> select reverse('123') from dual;REVERSE('123')--------------------------------3211 row selected.转载 2012-09-28 14:22:47 · 4796 阅读 · 1 评论 -
ORACLE中主键约束跟唯一索引的区别
1、 分别用两种方法创建主键create table test1(id number,name varchar2(10));insert into test1 values(1,'t1');insert into test1 values(2,'t2');commit;alter table test1 add constraint pk_test1 primary key转载 2011-12-03 21:34:11 · 1990 阅读 · 0 评论 -
oracle 中的%type,%rowtype
1、使用%TYPE 在许多情况下,PL/SQL变量可以用来存储在数据库表中的数据。在这种情况下,变量应该拥有与表列相同的类型。例如,students表的first_name列的类型为VARCHAR2(20),我们可以按照下述方式声明一个变量DECLARE v_FirstName VARCHAR2(20);但是如果first_name列的定义改变了会发生什么(比如转载 2011-12-03 20:55:01 · 439 阅读 · 0 评论 -
SQL Server中的SQL查询优化技巧
1、对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引。2、应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放弃使用索引而进行全表扫描,如: select id from t where num i转载 2011-07-15 15:00:04 · 861 阅读 · 0 评论 -
聚集索引和非聚集索引
一、深入浅出理解索引结构 实际上,您可以把索引理解为一种特殊的目录。微软的SQL SERVER提供了两种索引:聚集索引(clustered index,也称聚类索引、簇集索引)和非聚集索引(nonclustered index,也称非聚类索引、非簇集索引)。下面,我们举转载 2011-07-11 10:52:16 · 458 阅读 · 0 评论 -
indentity的取舍
首先阐述我的观点,任何技术都是为应用服务,没有最好的技术只有适当场景下最恰当的技术。但我还是更倾向于在大部分场景下使用业务主键取代indentity主键的形式。首先列出indentity的概念:identity是数据列的一种属性,具有这种属性的列,其值将由系统来控制,采用一种自动原创 2011-07-11 11:38:48 · 1984 阅读 · 0 评论 -
SQL中通配符用法
<br /><br />%:匹配零个及多个任意字符; _:与任意单字符匹配; []:匹配一个范围; [^]:排除一个范围SymbolMeaninglike '5[%]'5%like '[_]n'_nlike '[a-cdf]'a, b, c, d, or flike '[-acdf]'-, a, c, d, or flike '[[]'[like ']']like 'abc[_]d%'abc_d and abc_delike 'abc[def]'abcd, abce, and abcflike '[^1-9原创 2011-05-10 11:28:00 · 4297 阅读 · 0 评论 -
事务中的TRUNCATE命令
<br /><br />TRUNCATE命令符合多版本并发控制的要求,一个事务如果使用它清空了一个表,其它正在并发执行的事务立即会发现这个表已经被清空,不包含任何数据。如果有其它并发执行的事务曾经访问过被清空的表,它会持有ACCESS SHARE类型的锁在被清空的表上,TRUNCATE命令会被推迟执行,直到持有ACCESS SHARE锁的事务结束,才能执行。<br />TRUNCATE操作可以被回滚,只要回滚发出该命令的事务即可。原创 2011-05-06 17:23:00 · 2928 阅读 · 0 评论 -
一道面试题(索引 分词)
<br />说有一个监控系统,会监控访问的url和ip还有时间。需求是可以存储1000亿条信息。 <br />1.可以按照url查询某个时间段内的访问量。 <br />2.可以按照ip查询某个时间段内的访问量。 <br />请设计一个系统? <br /> <br />假设就一张表,表里3个字段 <br /><br />url, ip, date <br /><br />存上1000亿条数据,你需要在这3个字段上都建立索引,利用分词 <br /><br />如果里面有一条数据 <br />url:http:/转载 2011-05-10 17:56:00 · 1269 阅读 · 0 评论 -
一道面试题(大数据量 内存限制)
问题:3000w数据的表,取某项字段前50项数据 ,内存2g方案:一个数据文件,有3000W行,每行有一个id号,文件内容无任何排序。现在让你把id前 TOP 位取出来, TOP = 50.要求:你的程序最多能吃2G的内存,其他不限,要求考虑io/cup最优。解决思路:1 建一个top_array, 长度为50.2 再建一个buffer, 长度为2^20 (1G) 3 循环开始4 读取文件到buffer,直到buffer满为止5 将Buffer的前50位读到top_array7 将top_arr原创 2011-05-10 18:00:00 · 3330 阅读 · 1 评论 -
概述Oracle中的数据库名
一、数据库名 就是在你安装oracle软件过程中创建的数据库,或者是安装完后,自己再创建的数据名称。主要用于一个oracle中安装了多个库,他们之间的区分。一个库会在windows的服务中生成一个oracle_service.数据库名是在安装数据库、创建新的数据库、创建数据库控制文件、修改数据结构、备份与恢复数据库时都需要使用到的。 查询当前数据名 方法一:select name from v$database; 方法二:show parameter db二、数据库实例名[SID] 数据库实例名是原创 2010-11-26 10:35:00 · 450 阅读 · 0 评论 -
大型数据库设计原则
<br /><br />陈龙兵在个人博客“将夏♂未泯‰”上曾发表过一篇博文,他依据多年来设计和使用数据库的经验,提出了一些大型数据库设计原则,现转载于此,供大家借鉴参考。全文如下:<br />一个好的数据库产品不等于就有一个好的应用系统,如果不能设计一个合理的数据库模型,不仅会增加客户端和服务器段程序的编程和维护的难度,而且将会影响系统实际运行的性能。一般来讲,在一个MIS系统分析、设计、测试和试运行阶段,因为数据量较小,设计人员和测试人员往往只注意到功能的实现,而很难注意到性能的薄弱之处,等到系统投入实际转载 2010-08-20 13:05:00 · 450 阅读 · 0 评论 -
Sql Server 使用CTE实现递归查询
<br /><br />递归CTE是SQL SERVER 2005中重要的增强之一。一般我们在处理树,图和层次结构的问题时需要用到递归查询。<br /> CTE的语法如下<br /> 1 WITH CTE AS<br />2 (<br />3 SELECT EmpId, ReportTo, FName FROM Employ WHERE EmpId=1<br />4 UNION ALL<br />5 SELECT emp.EmpId, emp.ReportTo, emp.FName转载 2010-08-18 13:55:00 · 442 阅读 · 0 评论 -
Oracle RowID的应用
RowID的概念请参考以下文章:http://blog.csdn.net/mudalu626/article/details/8014383知道了RowID的概念,那么在什么场景下使用RowID呢。1.分页oracle中rowid高速分页解析 --rowid分页,第一步select rowid rid,sal from emp order by sal de原创 2012-09-25 13:21:11 · 3667 阅读 · 0 评论