数据库&SQL
文章平均质量分 85
LK_BLOG
天赋吉运 李坤
展开
-
Oracle SQL性能优化
(一)避免使用"*"替代所有的列转载 2014-08-09 22:16:31 · 1769 阅读 · 10 评论 -
查看在数据库中实际执行时的解析计划
现象:有一条sql在plsql中执行起来非常快47ms,但通过java程序执行的时候很慢,执行了87279ms ,通过执行计划看在plsql中执行命中索引消耗很少,在程序中执行的执行计划不知怎么得到.可以通过 select * from table(dbms_xplan.display_awr('45m6cx0g6dmwu'));这个命令获取在java程序执行时的解析计划.45原创 2016-01-31 20:54:34 · 3634 阅读 · 6 评论 -
提高sql查询性能-使用instr函数替换like
在查询时经常使用like作为关键字进行模糊查询,在生产环境中由于数据量较大,使用like查询时比较慢,尝试了一些方法,最终发现使用oracle的instr函数可以显著提高查询的效率.关于数据量:SELECT count(1) FROM t_partner_role; --612565SELECT count(1) FROM T_VENDOR_REPOSITORY;原创 2015-07-28 21:51:54 · 11760 阅读 · 9 评论 -
/*+ BYPASS_UJVC */ 处理数据更新时不能更新问题
在使用implict update table 时,发现其中一个表一定要有唯一约束,否则会报错!但是oracle可以使用hints:/*+ BYPASS_UJVC*/ 屏蔽掉队唯一性的检查。update (select /*+ BYPASS_UJVC */ * from t_contract_template ct, (原创 2015-07-28 21:57:01 · 5418 阅读 · 4 评论 -
SQL实现IPv4与数字互转
遇到了number与IP互转的需求,把搜索结果整理一下,以后使用时便于查找:(一)Oracle中:(1) IP转为数字:create or replace function ip2number(ip varchar2) return numberis ip_num_hex varchar2(80);begin if (regexp_like(ip, '^(\d{1,3原创 2012-08-23 22:45:56 · 4130 阅读 · 8 评论 -
SQL语句查漏总结
1.获得工资收入最高的前5个人(注意思考思路) 1、先对根据工资进行数据排序create view b asselect * from emp order by sal desc; 2、再对排序后的数据加上编号create view casselect rownum id,b.* from b; 3、根据编号获得前5位selec原创 2012-05-20 21:23:28 · 3333 阅读 · 4 评论 -
86标准sql与92标准SQL用法区别
在开发Oracle 9i时, 数据库还时间了ANSL SQL/92标准的链接语法, 在书中建议在使用Oracle 9i及更高版本时,应该使用SQL/92标准的语法;在使用Oracle 8i 及更低版本时,应该使用SQL/86标准的语法。 -----《Oracle Database 10g SQL 开发指南》转载 2012-05-18 15:04:06 · 4586 阅读 · 5 评论 -
关于ORDER BY 指定排列顺序
*如何让ORDER BY按指定的顺序排序 表a里有个列叫Type,是商品类别,就3种情况:S,A,B,如下: id name type 1 一班 S 2 五班 A 3 三班 B 4 四班 B 5 二班 A转载 2012-05-22 00:09:13 · 8393 阅读 · 1 评论 -
程序员必修课--sql思维举重训练
写sql是程序员基本功课,找工作面试一般必有sql题,实际工作中对sql的需求更是千变万化,所以掌握好sql对于一个程序员来说是件非常重要的事情.本文通过一个简单易懂的关系(学生/课程/成绩关系)尽量构造出各种各样的需求来提高我们写sql的功底,其中有些sql还是有一些难度的,大多数sql我都给出了思考思路,希望本人N天的劳动成果对您有所帮助. 限于本人水平有限,有些地方的sql写的并不原创 2012-05-20 13:57:52 · 18053 阅读 · 82 评论 -
解决错误ORA-01779: cannot modify a column which maps to a non-key-preserved table
原文地址: http://hi.baidu.com/jianxh/blog/item/34b687de1a34535695ee37c2.htmlOracle中试图对一个子查询进行更新时可能会出现ORA-01779错误。该错误的内容为:ORA-01779: cannot modify a column which maps to a non-key-preserved table转载 2012-05-23 17:22:28 · 18633 阅读 · 2 评论 -
触发器中ORA-04091 变异表错误原因和一般解决方法
在公司写了一个触发器,遇到了ORA-04091 错误,开始以为是触发器逻辑写错误了,后来反复修改和检查后感觉没有错误,可是还报这个错误.后经过查资料知道原来在触发器中对触发器要更新的表是不能在本表上做查询的,最终我在触发器中绕过查询本表就可以了.现在记录下原因和一般的解决方法: ORA-04091 产生原因:http://blog.csdn.net/walkingleo/artic转载 2012-02-12 18:46:29 · 27348 阅读 · 5 评论