我申请这个blog是为了督促自己,把自己平时的一些想法和思考结果保留下来。 本博客所有内容均为原创,如有转载请注明作者和出处

SQL、数据类型和数据块存储格式索引

上一篇 / 下一篇  2008-12-31 23:55:25 / 个人分类:Others

08年马上要结束了,BLOG每天更新又坚持了一年,目前文章总数1300多篇,其中纯技术文章达到1000篇。

我比较喜欢的一句话:十年磨一剑。去年提到争取坚持5年,到目前为止,已经3年了,看来离目标已经不远了。

闲话说了不少,言归正传,重新整理一下BLOG上面文章的索引,把08年的文章放进去了,且重新整理了一下分类。

这一篇索引SQL、数据类型和数据块存储格式的文章。

 

 

SQL方面:

对字符串的“sum”——在Oracle中自定义聚集函数的例子:如果利用Oracle的自定义功能实现用户自定义的聚集函数,这个例子给出了一个实现字符串合并的例子。

MERGE语句奇怪的错误提示MERGE语法的错误提示问题。

Oracle9i使用闪回操作:介绍Oracle9i的闪回功能。

测试TOM的例子居然发现bug:介绍9201的一个MERGE视图的错误。

构造的嵌套表如何指定列名:使用嵌套表时,如何指定嵌套表中的列。

sql语句中常量的处理:在使用SQL中,怎样处理常量效率更高。

ROLLUP和CUBE:介绍GROUP BY语句中的ROLLUPCUBE语句。

自定义分析函数:自定义分析函数的一个例子。

MERGE语法Oracle9i新增的MERGE语句。

INSERT ALL和INSERT FIRST语法Oracle9i新增的INSERT ALLINSERT FIRST语法。

INSERT ALL语句的一点研究:通过一个实例来说明INSERT ALL语法的优点。

10g中purge和flashback语句的重名问题PURGE语句和FLASHBACK出现重名的问题。

树状查询两例:树状查询的两个小例子。

树状查询新特性:介绍10G的两个新特性CONNECT_BY_ISLEAFCONNECT_BY_ISCYCLE

树状查询新特性(二):介绍10G的另一个新特性CONNECT_BY_ROOT

树状查询ROOT问题的9i解决方案:利用SYS_CONNECT_BY_PATH函数解决问题。

TO_DATE函数的小问题:小心’YYYY’格式。

Like操作的bug9204LIKE操作可能造成bug

DISTINCT的BUG9204子查询中使用DISTINCT,外层查询可能得到错误的结果。

DISTINCT的BUG(二):数型查询造成的bug

包含同名触发器的表执行PURGE TABLE出错:包含同名触发器的表进行PURGE出错。

WITH语法小议:介绍Oraclewith语法。

ROWNUM伪列返回空9204的一个bug

DISTINCT和GROUP BY的区别:简要介绍DISTINCTGROUP 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 SYSTEMRESET语法。

ORA-600(qcscpqbc1)错误FULL OUTER JOIN引起的错误。

连接字符串的SQL方法:通过SQL的方法将字符串连接在一起。

关联查询时使用树状查询要小心:将几个表的关联查询和树状查询合在一起可能产生一些并不需要的记录。

ORA-600(qkacon:FJswrwo)错误:同时包含树型查询和连接查询可能会造成问题。

Oracle CAST函数不生效Oracle9204Cast函数转化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操作造成的。

如何为表中多条记录分别实现构造结果集(一):如何同时为表中的多条记录分别实现构造结果集。

如何为表中多条记录分别实现构造结果集(二:利用OracleTYPE实现结果集构造。

如何为表中多条记录分别实现构造结果集(三:利用MODEL语句来实现结果集构造。

在Oracle中进行大小写不敏感的查询:如何在Oracle中进行大小写不敏感的查询。

更新操作中的外关联(一)UPDATE一个表的时候,这个表和其他表进行外关联获取更新数据无效。

更新操作中的外关联(二):简单描述一下UPDATE中为什么无法使用外关联,并对比几种方式的执行计划和性能。

ORA-7445(_fini)错误SQL语句HASH JOIN导致的bug

ORA-7445(evaopn2)错误:标准连接写法且包含GROUP BYDECODE函数和COUNT(*)时出现的错误。

标准SQL写法的重复列问题:使用标准SQL的连接写法偶然发现的问题。

ORA-600(15851)错误:会话的cursor_sharing设置不为EXACT时,且GROUP BY操作中,聚集函数的参数是常量时,会引发这个bug

ORA-600(qerghFetch:inc)错误:和ORA-600(15851)错误相同,由于操作系统不同导致错误信息不完全相同。

一个ORA-604错误的分析SQL建表时字段长度超长的问题。

Oracle中实现连乘:如何在Oracle中实现连乘。

一个树形聚集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是否一样(三):讨论包含物化视图的情况。

获取字段最大值的方法:不用MAXMIN等聚集函数,如何获取字段的最大值。

Oracle10g在CONNECT BY语句中允许子查询:从10g开始,Oracle支持CONNECT BY语句中嵌套子查询。

 

 

 

数据类型和数据块存储格式:

Oracle基本数据类型存储格式浅析(一)——字符类型:介绍字符类型在Oracle中是如何存储的。

Oracle基本数据类型存储格式浅析(二)——数字类型:介绍数值类型在Oracle中是如何存储的。

Oracle基本数据类型存储格式浅析(三)——日期类型(一):介绍日期类型DATEOracle中是如何存储的。

Oracle基本数据类型存储格式浅析(三)——日期类型(二):介绍日期类型TIMESTAMPOracle中是如何存储的。

Oracle基本数据类型存储格式浅析(三)——日期类型(三):介绍日期类型SYSDATEOracle中是如何存储的。

Oracle基本数据类型存储格式浅析(三)——日期类型(四):介绍日期类型SYSTIMESTAMPOracle中是如何存储的。

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(二)NULLAND/OR布尔运算特点。

Oracle中的NULL(三)NULLNOT布尔运算特点。

Oracle中的NULL(四)<SPAN style="FONT-FAMI

TAG:

 

评分:0

我来说两句

显示全部

:loveliness: :handshake :victory: :funk: :time: :kiss: :call: :hug: :lol :'( :Q :L ;P :$ :P :o :@ :D :( :)

Open Toolbar