1.从多个表中选择记录时:(表名顺序)执行顺序为从右往左,即表记录数少的放到右边,即最为基础表。如果有三个以上的表做连接查询,我们将交叉表作为基础表(即被其他表应用的表,即关系表)2.WHERE子句中的连接顺序.ORACLE按照自左向右的顺序执行,即那些可以过滤掉最大数量记录的条件必须写在WHERE子句的最右边,即末尾。对于SQLServer有两种说法,第一种:不用考虑顺序,SQLServer会自动执行过滤数据较多的条件;第二种:从左向右的执行顺序。3.S
系统 2019-08-12 01:55:26 2222
一.分区表理论知识Oracle提供了分区技术以支持VLDB(VeryLargeDataBase)。分区表通过对分区列的判断,把分区列不同的记录,放到不同的分区中。分区完全对应用透明。Oracle的分区表可以包括多个分区,每个分区都是一个独立的段(SEGMENT),可以存放到不同的表空间中。查询时可以通过查询表来访问各个分区中的数据,也可以通过在查询时直接指定分区的方法来进行查询。WhentoPartitionaTable什么时候需要分区表,官网的2个建议如
系统 2019-08-12 01:54:47 2222
有时候要把SQLServer的数据表导出为Excel表,以利于分发使用,复制黏贴有比较麻烦,可以用一下步骤操作之:1、先建立一个空的.xls文件,命名为gx.xls;2、右键单击目标数据库,选择“任务-导出数据”;3、进入导出数据向导,选择源数据和数据库;4、选择目标数据,这里请选择目标为“MicrosoftExcel”,并在路径里选择刚才建立的gx.xls;5、后面几部默认即可,最终数据导出到Excel中!SQLServer2005数据表导出为Excel
系统 2019-08-12 01:54:46 2222
原文:一个sql的优化目的:为了查询某天某个服务器上的登录id的个数刚开始编写的sql:selectcount(a.mac)logusersfromLog_MacLogin_AllawhereisMoNi!=1andloginTime<='2015-02-0123:59:59'andloginTime>='2015-02-0100:00:00'anda.macin(selectmacfromInst_User_MacbwheredoTime<='2015-
系统 2019-08-12 01:51:28 2222
1.在sp_configure配置xp_cmdshell可运行2.创建一个账号test,用来执行xp_cmdshell但是非sysadmin权限3.用grant把xp_cmdshell权限赋予test4.创建代理账号,这个账号是windows账号。5.在sqlserver中设置代理账号,右击实例属性安全性下的代理中填入windows账号密码或者使用sp_xp_cmdshell_proxy_account设置代理账号SQLServer非sysadmin调用扩
系统 2019-08-12 01:33:32 2222
原文:sql行转列PIVOT列转行UNPIVOT一:现有表一(t_table1),想转为表二(t_table2)的格式。表一:年公司收入2013公司1122013公司2222013公司3322012公司1422012公司2522012公司362表二:年公司1公司2公司320124252622013122232可使用sql2005之后提供的PIVOT具体操作如下:select*fromt_table1tPIVOT(sum(收入)FOR公司IN(公司1,公司2
系统 2019-08-12 01:33:24 2222
referenceURL:http://www.tracefact.net/Software-Design/A-Sample-Design.aspx本文是《Object-OrientedAnalysisandDesign》一书第一章和第五章的读书笔记。我对书中提供的一个范例程序进行了总结和整理,通过逐步优化这个乐器管理的范例程序,分析了进行程序设计时需要注意到的一些问题。1.简单直接的实现这个程序起初的需求很简单:我们需要创建一个吉他管理程序,它能够保存所
系统 2019-08-12 01:33:10 2222
如果你是一个十分忙碌的SQLServerDBA,那么首先你需要注意哪些内容?哪些任务是需要你定期完成,才能确保数据库的健壮?在上一篇文章中,我们带您了解了操作SQLServer的五种错误做法,那么在本文中,我们将向您介绍五种正确的关键做法,相信通过本文,SQLServerDBA可以更好更高效地进行数据库管理。1、做更好的备份一个坚实的灾难恢复计划和颗粒数据恢复计划是让你成为SQL数据库牛人的第一大法宝。重要的一点,就是你需要在完整备份和差异备份之间,频繁地
系统 2019-08-12 01:32:38 2222
首先测试环境建立:dept表CREATETABLEdept(deptnoNUMBER(6),dnameVARCHAR2(20),locVARCHAR2(20));以下实验就是像dept表中插入大量的数据。数据生成器允许创建演示和测试数据。对于测试应用程序和查看它们怎样执行大量的数据,这很有帮助的。可以在PL/SQLDeveloper的工具菜单的下面找到数据生成器:DataGenerator。基本上,定义由一个或多个表、要生成的记录数量和字段数据定义构成。左
系统 2019-08-12 09:26:39 2221
最近学FreeBSD的时候,在分区方面遇到一些疑问,顺便就了解了一下主分区,逻辑分区,以及磁盘存储的一些概念,发现了一篇好文章,在此转载一、系统引导过程简介系统引导过程主要由以下几个步骤组成(以硬盘启动为例)1、开机;2、BIOS加电自检(POST——PowerOnSelfTest),内存地址为0fff:0000;3、将硬盘第一个扇区(0头0道1扇区,也就是BootSector)读入内存地址0000:7c00处;4、检查(WORD)0000:7dfe是否等
系统 2019-08-12 01:54:53 2221
第一种:通用的针对单表用的交叉表存储过程ifexists(select*fromdbo.sysobjectswhereid=object_id(N''[dbo].[p_qry]'')andOBJECTPROPERTY(id,N''IsProcedure'')=1)dropprocedure[dbo].[p_qry]GO/*--生成交叉表的简单通用存储过程根据指定的表名,纵横字段,统计字段,自动生成交叉表并可根据需要生成纵横两个方向的合计注意,横向字段数目如
系统 2019-08-12 01:54:33 2221
数据库表A有十万条记录,查询速度本来还可以,但导入一千条数据后,问题出现了。当选择的数据在原十万条记录之间时,速度还是挺快的;但当选择的数据在这一千条数据之间时,速度变得奇慢。凭经验,这是索引碎片问题。检查索引碎片DBCCSHOWCONTIG(表),得到如下结果:DBCCSHOWCONTIG正在扫描'A'表...表:'A'(884198200);索引ID:1,数据库ID:13已执行TABLE级别的扫描。-扫描页数......................
系统 2019-08-12 01:53:40 2221
http://poj.org/problem?id=1679问最小生成树是否唯一其实就是问次小生成树是否等于最小生成树思路:1Kruskal求最小生成树MIN记录哪些边用了哪些没有用并建树2dfs从每一点开始求最小生成树上任意两点间的最长边3枚举没用过的边加入的情况取(MIN+此边权-树中此两点间最长边权)最小的那一个就是次小生成树代码及其注释:#include#include#include#incl
系统 2019-08-12 01:53:27 2221
--*********************************--Oracle10.2.0.1升级到10.2.0.4--*********************************数据库升级并不难,只要遵循其步骤,一般问题不大。但是升级失败的情况也是屡见不鲜,尤其是生产数据库的升级,搞不定的时候甚至要创建SR。下面描述基于Linux(OracleLinux5.4/2.6.18-164.el5PAE)平台下Oracle10.2.0.1升级到10
系统 2019-08-12 01:52:58 2221
SQL查询语句的性能从一定程度上影响整个数据库的性能。很多情况下,数据库性能的低下差不多都是不良SQL语句所引起。而SQL语句的执行计划则决定了SQL语句将会采用何种方式从数据库提取数据并返回给客户端,本文描述的将是如何通过EXPLAINPLAN获取SQL语句执行计划来获取SQL语句的执行计划。一、获取SQL语句执行计划的方式1.使用explainplan将执行计划加载到表plan_table,然后查询该表来获取预估的执行计划2.查询动态性能视图v$sql
系统 2019-08-12 01:52:17 2221