![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
ORACLE
niulity
ORACLE SQL优化 算法
展开
-
Thinking in SQL系列之一:棋盘摆放问题
说到SQL,很多朋友都认为无非就是增删改查,简单,不值得投入过多的精力。于是乎遇到复杂的数据处理,便借助PLSQL、T-SQL、JAVA等语言们来实现主体功能,逐渐出现弱化SQL的趋势。本人从业以来,经历过大大小小的一些项目,而上述情况非常普遍。实在看不下去SQL被拆解得支离破碎的现状,个人感觉数据处理,SQL为王。如何将问题转为SQL问题,即以SQL来思考问题就非常关键,这也是本文的目的。原创 2017-02-08 02:47:16 · 1614 阅读 · 1 评论 -
Thinking in SQL系列之二:鬼谷子问徒
鬼谷子问徒是一道古老的广为流传的经典逻辑推理题目。Thinking in SQL,通过构造集合,将数据组合转换为表连接,将推理过程转化为分析查询与过滤筛选,即可解决该类问题。原创 2017-02-09 00:38:32 · 1201 阅读 · 1 评论 -
Thinking in SQL系列之三:供需分配问题
供需分配,简单来说就是你有各种需求,我来个性化供应满足。很多问题都可以转化为此类问题,应用很普遍。可以采用类似ALU的改进,将ROW BY ROW的处理方式转换为并行处理。通过提前窥探,无需等待前一次的分配结果,一个SQL完全可以搞定。这段脚本曾经被个人用来实现ERP PO/RCV接收分配、到货货位分配、MRP计算过程的PR/自由库存匹配分配、财务成本以及AP/AR往来余额帐龄分配报表,可以说,只要存在供需分配的场景,以上SQL应该都能满足。对于ORACLE,PLSQL永远只是SQL的补充,而非替代品原创 2017-02-11 02:30:57 · 1340 阅读 · 0 评论 -
Thinking in SQL系列之四:数据挖掘C4.5决策树算法
C4.5是一系列用在机器学习和数据挖掘的分类问题中的算法。它的目标是监督学习:给定一个数据集,其中的每一个元组都能用一组属性值来描述,每一个元组属于一个互斥的类别中的某一类。C4.5的目标是通过学习,积累经验,为后续决策服务。该算法目前能找到各类版本,C、JAVA、PYTHON。但唯独没有SQL版本,前篇我有提过,数据处理,SQL为王,如何以SQL的思维来实现C4.5决策树算法是本篇的重点。SQL本身做为关系代数的优秀产物,通过并、交、乘、除四则运算可以完成任意集合间的处理变换。在数据处理方面有其它语言原创 2017-02-15 01:04:49 · 4508 阅读 · 2 评论 -
Thinking in SQL系列之五:数据挖掘K均值聚类算法与城市分级
SQL做为一种编程语言,能够满足各类数据处理的需要,关键就在于算法与思维方式。个人经常调侃SQL思考问题比大部分流行的开发语言多一个维度,因为SQL主要是二维思考(集合)、区别于一维(数据结构)的思维方式。对于ORACLE,通过以SQL(相对宏观)为主体、PLSQL(微观)为辅助,注入算法(灵魂),贯彻性能优化(章程),数据的价值能够充分有效发挥。聚类问题,就是给定一个元素集合D,其中每个元素具有n个可观察属性,使用某种算法将D划分成k个子集,要求每个子集内部的元素之间相异度尽可能低,而不同子集的元素相异原创 2017-02-24 01:41:07 · 4340 阅读 · 0 评论 -
Thinking in SQL系列之六:数据挖掘Apriori关联分析再现啤酒尿布神话
说起数据挖掘机器学习,印象中很早就听说过关于啤酒尿布的神话,这个问题经常出现在数据仓库相关的文章中,由此可见啤酒尿布问题对数据挖掘领域影响的深远程度。本篇文章Apriori算法主要是基于频繁集的关联分析,也是十大经典数据挖掘算法之一,本文中所出现的关联分析默认都是指基于频繁集的关联分析。SQL语言处理数据有天生的优势,Thinking in SQL,面向集合思考问题,通过关系运算(并、交、乘、除)处理数据,ORACLE高效的SQL引擎会负责循环处理。结合ORACLE高级开发技巧,通过不断地总结归纳,注入原创 2017-03-19 06:06:18 · 4555 阅读 · 0 评论