Chinaunix首页 | 论坛 | 博客
  • 博客访问: 2898098
  • 博文数量: 599
  • 博客积分: 16398
  • 博客等级: 上将
  • 技术积分: 6875
  • 用 户 组: 普通用户
  • 注册时间: 2009-11-30 12:04
个人简介

WINDOWS下的程序员出身,偶尔也写一些linux平台下小程序, 后转行数据库行业,专注于ORACLE和DB2的运维和优化。 同时也是ios移动开发者。欢迎志同道合的朋友一起研究技术。 数据库技术交流群:58308065,23618606

文章分类

全部博文(599)

文章存档

2014年(12)

2013年(56)

2012年(199)

2011年(105)

2010年(128)

2009年(99)

分类:

2010-01-15 23:01:19

SQL方面:
对字符串的“sum”——在Oracle中自定义聚集函数的例子:如果利用Oracle的自定义功能实现用户自定义的聚集函数,这个例子给出了一个实现字符串合并的例子。
MERGE语句奇怪的错误提示:MERGE语法的错误提示问题。
Oracle9i使用闪回操作:介绍Oracle9i的闪回功能。
测试TOM的例子居然发现bug :介绍9201的一个MERGE视图的错误。
构造的嵌套表如何指定列名:使用嵌套表时,如何指定嵌套表中的列。
sql语句中常量的处理:在使用SQL中,怎样处理常量效率更高。
ROLLUP和CUBE:介绍GROUP BY语句中的ROLLUP和CUBE语句。
自定义分析函数:自定义分析函数的一个例子。
MERGE语法:Oracle9i新增的MERGE语句。
INSERT ALL和INSERT FIRST语法:Oracle9i新增的INSERT ALL和INSERT FIRST语法。
INSERT ALL语句的一点研究:通过一个实例来说明INSERT ALL语法的优点。
10g中purge和flashback语句的重名问题:PURGE语句和FLASHBACK出现重名的问题。
树状查询两例:树状查询的两个小例子。
树状查询新特性:介绍10G的两个新特性CONNECT_BY_ISLEAF和CONNECT_BY_ISCYCLE。
树状查询新特性(二):介绍10G的另一个新特性CONNECT_BY_ROOT
树状查询ROOT问题的9i解决方案:利用SYS_CONNECT_BY_PATH函数解决问题。
TO_DATE函数的小问题:小心’YYYY’格式。
Like操作的bug:9204的LIKE操作可能造成bug。
DISTINCT的BUG:9204子查询中使用DISTINCT,外层查询可能得到错误的结果。
DISTINCT的BUG(二):数型查询造成的bug。
包含同名触发器的表执行PURGE TABLE出错:包含同名触发器的表进行PURGE出错。
WITH语法小议:介绍Oracle的with语法。
ROWNUM伪列返回空:9204的一个bug。
DISTINCT和GROUP BY的区别:简要介绍DISTINCT与GROUP BY的区别。
用SQL处理分段查询的问题:SQL使用技巧。
查询正常作为条件报错的问题:描述问题,并给出相应的解决方案。
查询正常作为条件报错的问题(续):对上一篇文章中两个问题进行深入描述。
ORA-600的qks3tGCL:1错误:执行SQL碰到的600错误。
得到系统时间戳的毫秒值:将以前得到秒值的方法进行了修改。
计算字符串中包含中文、英文字符长度:计算字符串中中文字符长度、英文字符长度、以及数字字符长度的方法。
利用函数索引解决复杂的约束问题:利用函数索引的功能实现复杂的约束。
小议ORDER BY语句中的常数:ORDER BY语句中包含常量的情况。
一条语句引起的多个ORA-600、ORA-7445错误:问题描述。
一条语句引起的多个ORA-600、ORA-7445错误(二):这个问题的进一步发现。
ORA-600 kcblasm_1和kghasp1错误:大量的MAX(DECODE())语句造成的问题。
小议RESET参数:介绍ALTER SYSTEM的RESET语法。
ORA-600(qcscpqbc1)错误:FULL OUTER JOIN引起的错误。
连接字符串的SQL方法:通过SQL的方法将字符串连接在一起。
关联查询时使用树状查询要小心:将几个表的关联查询和树状查询合在一起可能产生一些并不需要的记录。
ORA-600(qkacon:FJswrwo)错误:同时包含树型查询和连接查询可能会造成问题。
Oracle CAST函数不生效:Oracle9204的Cast函数转化NUMBER类型无效。
ORA-7445(prscoldrp):错误语法造成的问题。
Oracle11新特性——SQL缓存结果集(一):11g新增功能缓存结果集中SQL语句的缓存。
Oracle11新特性——SQL缓存结果集(二):SQL缓存结果集的特点。
Oracle11新特性——SQL缓存结果集(三):SQL缓存结果集的特点并简单介绍DBMS_RESULT_CACHE包。
Oracle11新特性——SQL缓存结果集(四):讨论SQL缓存结果集与绑定变量的关系。
Oracle11新特性——行列转换语句(一):11g的行转列语法。
Oracle11新特性——行列转换语句(二):11g的列转行语法。
Oracle11新特性——虚拟列:Oracle11g增加了表的虚拟列。
Oracle11新特性——虚拟列(二):虚拟列的进一步的研究。
Oracle11新特性——在线操作功能增强(一):可等待DDL操作。
Oracle11新特性——在线操作功能增强(二):表增加包含默认值的字段。
Oracle11新特性——在线操作功能增强(四):Oracle11g新增的不可见索引。
Oracle11新特性——在线操作功能增强(五):Oracle11g的只读表功能。
Oracle11新特性——在线操作功能增强(七):在线重建索引功能增强。
用SQL解决两道有趣的题(一):利用SQL解决一道数学推理问题。
用SQL解决两道有趣的题(二):利用SQL解决另一道数学推理问题。
用SQL实现99乘法表:用SQL实现99乘法表。
使用nlsparam的一个例子:在转换函数中使用NLSPARAM参数来保证指定语言的转换。
用SQL计算100以内的质数:用SQL计算100以内的质数。
使用SQL判断一个数是否质数:使用SQL判断一个数是否质数。
缺少GROUP BY表达式可以顺利执行的问题:Oracle9204上执行一个明显语法错误的SQL,却可以得到查询结果。
缺少GROUP BY表达式可以顺利执行的问题(二):使用MERGE提示可以在10g中避免错误的发生而得到执行结果。
9i上使用CONNECT BY访问DUAL表的问题:Oracle的策略造成的问题。
添加字段对SQL的影响:描述添加字段对SQL语句的影响。
UPDATE子查询的ORA-1779错误:对子查询执行UPDATE时,可能会遇到ORA-1779错误。
一次更新操作的优化:描述最近进行了一次更新操作的处理和优化工作。
一个复杂问题的求解过程(一):通过硬编码方式解决一个构造问题。
一个复杂问题的求解过程(二):通过函数来构造通用解。
一个复杂问题的求解过程(三):讨论如何使用SQL来实现。
一个复杂问题的求解过程(四):尝试使用PL/SQL实现。
一个复杂问题的求解过程(五):仍然使用PL/SQL实现,这里采用了递归算法。
利用Oracle的新特性优化SQL:利用Oracle的新特性优化SQL。
SQL优化引出的问题(一):经过简单的检查,找到了一个问题SQL语句。
SQL优化引出的问题(二):继续寻找导致问题的真正原因。
ORA-7445(qcpircx)错误:一个错误的SQL导致的bug。
ORA-600(qernsRowP)错误:由于SORT GROUP BY NOSORT操作造成的。
如何为表中多条记录分别实现构造结果集(一):如何同时为表中的多条记录分别实现构造结果集。
如何为表中多条记录分别实现构造结果集(二):利用Oracle的TYPE实现结果集构造。
如何为表中多条记录分别实现构造结果集(三):利用MODEL语句来实现结果集构造。
在Oracle中进行大小写不敏感的查询:如何在Oracle中进行大小写不敏感的查询。
更新操作中的外关联(一):UPDATE一个表的时候,这个表和其他表进行外关联获取更新数据无效。
更新操作中的外关联(二):简单描述一下UPDATE中为什么无法使用外关联,并对比几种方式的执行计划和性能。
ORA-7445(_fini)错误:SQL语句HASH JOIN导致的bug。
ORA-7445(evaopn2)错误:标准连接写法且包含GROUP BY、DECODE函数和COUNT(*)时出现的错误。
标准SQL写法的重复列问题:使用标准SQL的连接写法偶然发现的问题。
ORA-600(15851)错误:会话的cursor_sharing设置不为EXACT时,且GROUP BY操作中,聚集函数的参数是常量时,会引发这个bug。
ORA-600(qerghFetch:inc)错误:和ORA-600(15851)错误相同,由于操作系统不同导致错误信息不完全相同。
一个ORA-604错误的分析:SQL建表时字段长度超长的问题。
Oracle中实现连乘:如何在Oracle中实现连乘。
Oracle中实现连乘(二):处理连乘中出现0和负数的情况。
一个树形聚集SQL问题:树型查询包含聚集的情况。
一个树形聚集SQL问题(二):根据新的测试数据来构造求解的SQL。
10g树形查询新特性CONNECT_BY_ROOT的9i实现方式:9i中如何实现CONNECT_BY_ROOT功能。
10g树形查询新特性CONNECT_BY_ISLEAF的9i实现方式:9i中如何实现CONNECT_BY_ISLEAF功能。
10g树形查询新特性CONNECT_BY_ISCYCLE的9i实现方式(一):描述一下解决问题的思路。
10g树形查询新特性CONNECT_BY_ISCYCLE的9i实现方式(二):初步实现CONNECT BY NOCYCLE的功能。
10g树形查询新特性CONNECT_BY_ISCYCLE的9i实现方式(三):初步实现CONNECT_BY_ISCYCLE的功能。
10g树形查询新特性CONNECT_BY_ISCYCLE的9i实现方式(四):CONNECT_BY_ISCYCLE功能的最终实现。
10g如何获取DUAL表中的记录数:如何在10g中得到DUAL表中真正的记录数。
11G的SORT GROUP BY NOSORT导致错误执行计划:在处理GROUP BY的操作的时候,可能错误的选择索引全扫描加上SORT GROUP BY NOSORT执行计划。
Oracle是否根据ROWID顺序读取记录:描述Oracle读取记录的时候是否按照ROWID顺序。
Oracle是否根据ROWID顺序读取记录(二):在做一个DATA OBJECT ID的例子。
Oracle是否根据ROWID顺序读取记录(三):还是构造DATA OBJECT ID的例子,不过这次采用ALTER TABLE SPILT PARTITION的方式。
对于整数大于3和大于等于4是否一样:讨论查询中的WHERE条件如果分别是大于3和大于等于4,二者是否等价。
对于整数大于3和大于等于4是否一样(二):继续讨论二者在索引扫描上的区别。
对于整数大于3和大于等于4是否一样(三):讨论包含物化视图的情况。
获取字段最大值的方法:不用MAX、MIN等聚集函数,如何获取字段的最大值。
Oracle10g在CONNECT BY语句中允许子查询:从10g开始,Oracle支持CONNECT BY语句中嵌套子查询。
解决ORA-600(16164)错误的过程(一):描述问题的产生和现象。
解决ORA-600(16164)错误的过程(二):描述解决问题的过程。
主键的变更导致索引无法删除:描述导致这个问题的成因。
小议分析函数中排序对结果的影响(一):分析函数中包括ORDER BY语句对查询排序的影响。
小议分析函数中排序对结果的影响(二):继续讨论复杂一些的情况。
利用SQL实现一个图形概率问题:在一个7×7的图形内,构造一个等腰三角形的概率有多大。
实现自然数N的全排列:通过SQL实现N的全排列。
利用SQL解释一个魔术:利用SQL来解释一个魔术的内在原理。
限制DDL操作(一):利用触发器来限制DDL语句。
限制DDL操作(二):介绍DISABLE TABLE LOCK语句。
限制DDL操作(三):介绍DML_LOCKS初始化参数。
限制DDL操作(四):介绍VAULT组件的COMMAND RULE功能。
Oracle10g新特性——记录DML错误日志(一):介绍DML记录语句的用法。
Oracle10g新特性——记录DML错误日志(二):介绍DML记录语句的限制。
Oracle10g新特性——记录DML错误日志(三):介绍DML记录语句不支持的数据类型。
老虎SQL问题答案之漏洞:几个SQL小问题。
ORA-600(qctVCO:csform)错误:UPDATE语句包含了子查询,由于CBO尝试MERGE VIEW导致了这个错误的产生。
SQL限制条件应尽量避免使用SYSDATE:可以明确的使用日期常量就尽量避免使用SYSDATE作为替代。
SQL限制条件应尽量避免使用SYSDATE(二):介绍SYSDATE和常量对执行计划的影响。
动态返回结果的视图:利用一些变量可以创建动态结果的视图。
ORA-600(evapth : unexpected evaluation)错误:错误是由于SQL中包含ORDER SIBLINGS BY DESC语句引起的。
在查询列表中使用PRIOR操作:PRIOR操作其实在SELECT的字段列表中也是可以使用的。
利用树形查询实现部分分析函数功能:使用树形查询模拟一些分析函数的功能。
ORA-600(kcblasm_1)和ORA-7445(kxhfNewBuffer)错误:查询中的OR条件引发的问题。
Oracle11gr2分析函数新特性(一):介绍新增的分析函数NTH_VALUE。
Oracle11gr2分析函数新特性(二):介绍新增的分析函数LISTAGG。
Oracle11gr2分析函数新特性(三):介绍分析函数LAG和LEAD的增强。
Oracle11gr2新增CREATE OR REPLACE FORCE TYPE功能:增强了TYPE类型的依赖处理。
ORA-2449错误:删除一个表空间的时候碰到了这个错误。
DROP USER过程中出现的奇怪的对象信息:删除用户的时候,在后台查询了一下DBA_SEGMENTS视图,结果发现其他的对象信息。
只读表空间对象被删除后对应的对象信息:只读表空间对象被删除,数据字典会自动修改对应的段名称。
RANK函数基于条件的查询:RANK等函数还有基于假设条件进行查询的功能。


数据类型和数据块存储格式:
Oracle基本数据类型存储格式浅析(一)——字符类型:介绍字符类型在Oracle中是如何存储的。
Oracle基本数据类型存储格式浅析(二)——数字类型:介绍数值类型在Oracle中是如何存储的。
Oracle基本数据类型存储格式浅析(三)——日期类型(一):介绍日期类型DATE在Oracle中是如何存储的。
Oracle基本数据类型存储格式浅析(三)——日期类型(二):介绍日期类型TIMESTAMP在Oracle中是如何存储的。
Oracle基本数据类型存储格式浅析(三)——日期类型(三): 介绍日期类型SYSDATE在Oracle中是如何存储的。
Oracle基本数据类型存储格式浅析(三)——日期类型(四):介绍日期类型SYSTIMESTAMP在Oracle中是如何存储的。
Oracle基本数据类型存储格式浅析(四)——ROWID类型(一): 介绍物理ROWID类型在Oracle中是如何存储的。
Oracle基本数据类型存储格式浅析(四)——ROWID类型(二):介绍逻辑ROWID类型在Oracle中是如何存储的。
Oracle基本数据类型存储格式浅析(五)——RAW类型:介绍RAW类型在Oracle中是如何存储的。
行迁移和行链接的物理存储:Oracle的行迁移和行链接是如何实现的。
从行迁移想到的:由于行迁移的特点,引申出Oracle行记录的最小值问题。
解析Oracle各种数据类型:这篇文章总结了前面数据类型格式分析和DBMS_REPAIR包的分析结果,通过编写一个函数,就可以将数据库中存储的数据恢复出来。
NULL的数据类型:通过测试得到NULL的默认数据类型。
Oracle中'AA '和'AA'是否相等:说明不同数据类型会导致不同结果。
Long字段的限制:long类型的又一个限制。
TO_LOB函数:TO_LOB函数的特殊性。
如何对LONG列进行查询:给出查询LONG字段的几种方法。
Oracle中的NULL(一):介绍NULL的概念。
Oracle中的NULL(二):NULL的AND/OR布尔运算特点。
Oracle中的NULL(三):NULL的NOT布尔运算特点。
Oracle中的NULL(四):NULL的字符表示形式’’。
Oracle中的NULL(五):空字符’’和NULL的关系。
Oracle中的NULL(六):NULL和索引的关系。
Oracle中的NULL(七):NULL对SQL使用索引的影响。
Oracle中的NULL(八):在SQL和PLSQL中一些处理NULL的一些问题。
SQL和存储过程的结果不一致——小议Oracle的number精度问题:SQL和PL/SQL精度不一致的问题。
Oracle11g新特性——LOB类型功能增强:11g对LOB类型的新增功能。
修改字段数据类型的方法:介绍修改数据类型的方法。
有趣的数值溢出(一):介绍ORACLE的NUMBER类型溢出。
有趣的数值溢出(二):继续探讨小数的溢出情况。
行链接在存储结构上是如何实现的(一):探讨Oracle到底是如何实现行链接的。
行链接在存储结构上是如何实现的(二):通过例子推断行链接的存储格式。
行链接在存储结构上是如何实现的(三):定位行链接存储标识位。
行链接在存储结构上是如何实现的(四):通过例子来验证对标识位的推测。
行链接在存储结构上是如何实现的(五):说明行迁移对应的标识位。
行链接在存储结构上是如何实现的(六):简单描述D标识位。
行链接在存储结构上是如何实现的(七):描述一下最后两个CLUSTER相关的标识。
行链接在存储结构上是如何实现的(八):介绍一下HASH CLUSTER表的标识特点。
Oracle唯一约束中NULL的处理:Oracle唯一约束中NULL的处理。
表的INTRA BLOCK CHAINING:当表中的列超过255的时候,多出的列以行连接的方式存放在相同的块中。
输入NVARCHRA2类型字符串:介绍NVARCHAR2数据类型的输入。
NVARCHAR2索引造成的ORA-964错误(一):使用NVARCHAR2类型碰到的一个bug。
NVARCHAR2索引造成的ORA-964错误(二):通过TRACE跟踪导致错误的原因。
索引组织表中逻辑ROWID的物理猜:索引组织表中逻辑ROWID的物理猜是如何实现的。
索引组织表中逻辑ROWID的物理猜(二):通过一个具体的例子简单描述一下物理猜的过程。
索引组织表中逻辑ROWID的物理猜(三):通过分析数据块验证上一篇文章中的例子。
Oracle外键约束中NULL的处理:在外键中处理NULL约束,采用的方法就和处理唯一约束中明显不同。
TABLE居然也是数据类型:居然TABLE也可以当作数据类型用。
输入TIMESTAMP类型:输入TIMESTAMP类型的不同方法。
TIMESTAMP类型的时区:介绍TIMESTAMP的时区信息。
无法根据TZ_OFFSET的值进行数据访问:无法根据TZ_OFFSET函数的返回值,进行查询。
TIMESTAMP的时区转换:一个时区的时间转换到另一个数区的问题。
CHAR类型函数索引导致结果错误:在10.2.0.1上建立CHAR类型的SUBSTR函数索引后,可能导致随后的查询得到错误的结果。
利用HASH CLUSTER判断质数:利用HASH CLUSTER内置功能实现质数的判断。
索引创建和重建对键值的限制:简单描述创建和重建索引的过程对索引键值大小的要求。
列定义的顺序和列存储的顺序:对于索引组织表列定义的顺序和存储的顺序并不一致。
列顺序对表的影响:描述一下列的顺序对表的影响。
10g新增排序哈希聚集表:HASH CLUSTER表和索引组织表的结合体。
插入排序哈希CLUSTER表出现ORA-7445错误:插入时排序顺序于SORT顺序不一致碰到ORA-7745错误。
创建单独的分区存储NULL记录:建立一个分区表,使得包含NULL记录在单独的分区,而其他记录在另一个分区。
加载数据顺序对HASH SORT CLUSTER性能影响:加载或插入数据的顺序对影响影响很大。
Oracle分页查询格式(十三):介绍HASH SORT CLUSTER表对分页查询的帮助。
HASHKEYS和SIZE参数对HASH SORT CLUSTER表的影响:HASHKEYS和SIZE是最重要的存储参数设置。
阅读(1207) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~