
sql
文章平均质量分 57
weeknd
这个作者很懒,什么都没留下…
展开
-
oracle全文索引(全文检索)的介绍,使用和创
全文索引Oracle的全文检索实现逻辑,通过lexer词法分析器,讲把值的term找出来。记录在一组的DR$开头的表里面(主要是DR$xxxI表),主要记录term的位置,frequency频率,hash等信息,oracle根据谓词,找到对应的term。主要介绍三种自然语言的分析器basic_lexer(默认的分析器):主要针对英语。有较高的处理效率,因为它只认空格和标点,所以原创 2017-05-10 19:46:32 · 22673 阅读 · 0 评论 -
错误的索引统计信息导致oracle expdp导500多G的大分区表时hang住
1:用expdp导数据,语句如下expdp system/oracle directory=xxx TABLES=xxx.AC51 dumpfile=xxx_%U.dmp logfile=xxx.log EXCLUDE=index,STATISTICS,constraint parallel=15 compression=ALL cluster=n version=11.2.0.4.0原创 2017-05-15 18:43:56 · 2048 阅读 · 0 评论 -
ORA-01940 oracle 无法删除用户
在drop user的报ora-01940,代码如下SQL> drop user joey cascade;drop user joey cascade*ERROR at line 1:ORA-01940: cannot drop a user that is currently connected解决方案1:查询正在连接的会话SQL> select原创 2017-04-25 13:10:11 · 5698 阅读 · 0 评论 -
oracle统计表的所有列的非空记录数据
oracle统计表的所有列的非空记录数据适合查询统计,每天监控表数据入库的情况,统计业务量的增长情况等。具体的需要配合自己的业务定有两种展现方式,第一种是是执行完,直接看完输出结果。第二种是把输出结果插入到中间表,查询中间查看输出结果(未使用统计信息查询,是因为很多时候,需要知道实际的数量,而统计信息有时候不满足)第一种方式:直接输出结果创建存储过程CREATE OR原创 2017-05-10 16:19:21 · 5593 阅读 · 1 评论 -
使用bulk collected和forall的方式批量插入数据
使用bulk collected和forall的方式批量插入数据方式:使用bulk collected批量抽取出数据,插入到目标表,对于百万级别的数据可能会影响到资源分配,这样可以降低缓解压力。使用forall替代for loop,减少loop虚化花费的资源和时间。示例如下:create or replace procedure p2 is CURSOR emp_c原创 2017-06-02 15:28:45 · 1053 阅读 · 0 评论 -
动态统计每个日期过去30天的数据
今天有数据分析问我,如果动态统计过去30的数?比如0601,计算0502——0601的用户数去重,0602,计算0503——0602内的用户数去重,是个动态的30天用户数他用的spark line。具体的语法的不熟悉,但是逻辑类似,利用循环控制传入的值即可这里利用oracle的存储过程实现create or replace procedure test2 isv_date date原创 2017-07-05 13:54:23 · 2872 阅读 · 0 评论 -
oracle在线将普通表转换成分区表
背景介绍:有时候随着业务的发展,需要将普通的表转换成分区表。这里主要介绍在线自动转换的方式。一:源表和索引创建源表创建CREATE TABLE EDC_SEPERATOR( SEPERATOR_ID NUMBER(15) NOT NULL, EQUIPMENTINFO NVARCHAR2(20), RECOR原创 2017-07-19 13:46:07 · 2921 阅读 · 0 评论 -
Mysql实现行转列
create table loc(loc varchar(50),xiaoqu varchar(50),addr varchar(50),company varchar(50)) 插入数据区域小区名称房屋地址中介公司宝山庆安三村绥化路52弄A宝山月原创 2017-08-25 12:55:25 · 945 阅读 · 0 评论