建索引脚本
‘壹’ oracle 如何动态创建索引
sql">createorreplaceproceresp_crt_stg_index(p_src_tbl_namevarchar2,p_tgt_tbl_namevarchar2,p_tx_datevarchar2)
is
v_crt_ind_sqlvarchar2(4000):='';
v_drop_ind_sqlvarchar2(4000):='';
v_ind_namevarchar2(100):='';
v_tgt_ind_namevarchar2(100):='';
v_col_listvarchar2(1000):='';
v_col_namevarchar2(100):='';
i_ind_col_cntnumber(2,0):=0;
i_tbl_cntnumber(2,0):=0;
i_ind_cntnumber(2,0):=0;
v_step_novarchar2(3):='';
begin
--step1检查索引定义是否存在
v_step_no:='1';
selectcount(1)intoi_ind_col_cntfromall_ind_columns
wheretable_name=p_src_tbl_name;
if(i_ind_col_cnt=0)then
sp_log('sp_crt_stg_index',v_step_no,'3',p_tx_date,p_src_tbl_name||'不存在索引定义');
return;
endif;
--step2检查目标表是否存在
v_step_no:='2';
selectcount(1)intoi_tbl_cntfromtabs
wheretable_name=p_tgt_tbl_name;
if(i_tbl_cnt=0)then
sp_log('sp_crt_stg_index',v_step_no,'3',p_tx_date,p_src_tbl_name||'不存在');
return;
endif;
--step3创建索引
v_step_no:='3';
forcur_indin(selectindex_namefromall_indexeswheretable_name=p_src_tbl_name)loop
v_ind_name:=cur_ind.index_name;
v_col_name:='';
v_col_list:='(';
forcur_ind_colin(selectcolumn_namefromall_ind_columnswhereindex_name=v_ind_nameorderbycolumn_position)loop
v_col_name:=cur_ind_col.column_name;
v_col_list:=v_col_list||v_col_name||',';
endloop;
v_col_list:=v_col_list||')';
v_col_list:=replace(v_col_list,',)',')');
v_tgt_ind_name:=replace(v_ind_name,p_src_tbl_name,p_tgt_tbl_name);
v_tgt_ind_name:=v_tgt_ind_name||substr(p_tx_date,7,21);
selectcount(1)intoi_ind_cntfromall_indexeswhereindex_name=v_tgt_ind_name;
if(i_ind_cnt>0)then
v_drop_ind_sql:='dropindex'||v_tgt_ind_name;
executeimmediatev_drop_ind_sql;
endif;
sp_log('sp_crt_stg_index',v_step_no,'1',p_tx_date,v_tgt_ind_name||'创建开始');
v_crt_ind_sql:='createindex'||v_tgt_ind_name||'on'||p_tgt_tbl_name||v_col_list||'nologging';
if(v_crt_ind_sqlisnotnull)then
executeimmediatev_crt_ind_sql;
endif;
sp_log('sp_crt_stg_index',v_step_no,'1',p_tx_date,v_tgt_ind_name||'创建结束');
endloop;
exception
whenothersthen
sp_log('sp_crt_stg_index',v_step_no,'3',p_tx_date,v_tgt_ind_name||'创建异常:'||SQLERRM);
end;
#########################
---- 日期类型转换
to_char(sysdate,'YYYY-MM-DD HH24:MI:SS');
----Oracle检查分区
select count(1)
from ALL_TAB_PARTITIONS
where table_name = p_tgt_tbl_name
and PARTITION_NAME = v_prt_name;
----码表
Select * From ict_s_dic Where opttype = 'ID_TYPE';
decode 内部字段拼接
decode(Date_Nextvisit,'','下次跟进时间:['||Date_Nextvisit||']') RMK1,
----拼接字段,删除表
SELECT 'DROP TABLE '||TABLE_NAME||';' FROM TABS WHERE TABLE_NAME LIKE 'M_ICT%';
Select * From tabs ;
----交换分区,分区交换后数据是否交换?
'ALTER TABLE '|| p_tgt_tbl_name ||' EXCHANGE PARTITION '||v_prt_name||' WITH TABLE '||p_src_tbl_name;
----查询某表是否存在
select count(1) from tabs
where table_name = p_src_tbl_name;
----重建索引
ALTER index ind_id_idx rebuild
----创建索引nologging
create index I_ICT_CUST_INFO__0 on ICT_CUST_INFO_20141222 (CUST_NO)
nologging;
----查询分区内数据
select count(1) from stg_ict_trade_info partition(ICT_PRT_2014005);
Select * From User_Ind_Partitions;
Select * From User_Part_Indexes;
-----查询索引
select index_name from ALL_INDEXES WHERE TABLE_NAME=p_src_tbl_name;
-----查询分区
select * from ALL_TAB_PARTITIONS
where table_name = p_tgt_tbl_name and PARTITION_NAME = v_prt_name;
-----查询表名
select * from tabs where table_name = p_tgt_tbl_name;
-----清空表分区数据
'ALTER TABLE '||p_tgt_tbl_name||' TRUNCATE PARTITION ' || v_prt_name;
-----增加表分区
'ALTER TABLE '||p_tgt_tbl_name||' ADD PARTITION ' || v_prt_name||' VALUES LESS THAN (''' ||v_monthend||''') TABLESPACE ICLIENT_O_DATA01 ';
-----重建索引
'ALTER INDEX '||cur_ind.index_name|| ' REBUILD PARALLEL 128 COMPUTE STATISTICS NOLOGGING';
-----交换分区
'ALTER TABLE '|| p_tgt_tbl_name ||' EXCHANGE PARTITION '||v_prt_name||' WITH TABLE '||p_src_tbl_name||' INCLUDING INDEXES';
-----oralce创建同义词------------
create or replace public SYNONYM ICT_ORG_BPH for iclientodata.ICT_ORG_BPH;
-----oracle 赋权限
grant select, insert, update, delete on ICT_ORG_BPH to ICLIENTOOPR; --赋权限
---------------DBA查看表空间------------
select a.tablespace_name,
a.bytes / 1024 / 1024 / 1024 "Sum G",
(a.bytes - b.bytes) / 1024 / 1024 / 1024 "used G",
b.bytes / 1024 / 1024 / 1024 "free G",
round(((a.bytes - b.bytes) / a.bytes) * 100, 2) "percent_used"
from (select tablespace_name, sum(bytes) bytes
from dba_data_files
group by tablespace_name) a,
(select tablespace_name, sum(bytes) bytes, max(bytes) largest
from dba_free_space
group by tablespace_name) b
where a.tablespace_name = b.tablespace_name
order by ((a.bytes - b.bytes) / a.bytes) desc
-------------------------------------------------------------------------------------
--oracle 生成删表语句,
SELECT 'DROP TABLE '||TABLE_NAME||';' FROM TABS WHERE TABLE_NAME LIKE 'M_ICT%'
--查询oracle 中ICT开头的
SELECT * FROM tabs WHERE TABLE_NAME LIKE 'ICT%'
----oracle 表分析语句
'ANALYZE TABLE ' || v_ana_tbl_name || ' estimate system statistics';
例如:ANALYZE TABLE ICT_SUM_AST_DBT_CUST ESTIMATE SYSTEM STATISTICS;
-----------查看锁定对象及会话
SELECT OBJECT_NAME,MACHINE,S.SID,S.SERIAL#
FROM GV$LOCKED_OBJECT I,DBA_OBJECTS O,GV$SESSION S
WHERE I.OBJECT_ID=O.OBJECT_ID AND I.SESSION_ID=S.SID;
----------oralce解锁
ALTER SYSTEM KILL SESSION '280,219';
授权脚本生成方法:
select 'grant select on table dmccrm.'||tbl_name||' to public,ex_sdbods; ' from t_ict_tbl_type where tbl_type in('ALL','GP') and ETL_DIR IN( 'GP->ORACLE','无需同步');
-----------oracle批量生成同义词
SELECT 'create or replace public synonym '||table_name ||' for iclientodata.'||table_name FROM tabs WHERE table_name like 'ICT_%'
-----------oracle批量生成修改表字段的长度
select 'ALTER TABLE '||TABLE_NAME||' MODIFY '||COLUMN_NAME||' NUMBER(30,8);' from cols t
where t.DATA_TYPE = 'NUMBER'
AND T.DATA_SCALE >0 AND SUBSTR(TABLE_NAME,-8,8)<>'20140531'
---------oracle 批量创建同义词
select 'create or replace public synonym '||table_name||' for iclientodata.'||table_name||';' from user_tables WHERE table_name LIKE 'ICT_%' AND table_name NOT LIKE '%20140531';
-----------oracle 交换分区语句
ALTER TABLE ICT_CUST_LEVEL_HIS ADD PARTITION ICT_PRT_20140531 VALUES LESS THAN ('2014-06-01')
--------MERGE使用方法
MERGE INTO ICT_CUST_INFO_ALL a
USING
(
SELECT t.CUST_MNG_UM_NO ,t.CUST_NO
FROM ict_cust_mnger_rel t
WHERE t.CUST_NO IN
('600021562650', '600037441214', '600036874754', '600038507516',
'600020226746', '600038089420', '600041030403', '600038952992',
'600039468303')
)b
ON( a.cust_no= b.cust_no)
WHEN MATCHED THEN
UPDATE SET a.MAX_ASSET_INTRO_NO=b.CUST_MNG_UM_NO;
-------------oracle 树形查询,查询机构编号为‘9902’的和其下级子机构
select org_id,org_name,org_level from (
SELECT rownum rn, ioi.org_id , ioi.org_name,ioi.org_level
FROM ict_org_info ioi
START WITH ioi.org_id ='9902'
CONNECT BY PRIOR ioi.org_id = ioi.parent_org_id_b
order by ioi.org_level desc
) where rn=1
-------------oracle 树形查询,查询机构编号为‘9902’的和上级机构
select org_id,org_name,org_level from (
SELECT rownum rn, ioi.org_id , ioi.org_name,ioi.org_level
FROM ict_org_info ioi
START WITH ioi.org_id ='9902'
CONNECT BY ioi.org_id = PRIOR ioi.parent_org_id_b
order by ioi.org_level desc
) where rn=1
-------------oracle 树形查询,查询机构编号为‘9902’的上级机构
select org_id,org_name,org_level from (
SELECT rownum rn, ioi.org_id , ioi.org_name,ioi.org_level
FROM ict_org_info ioi
START WITH ioi.org_id ='9902'
CONNECT BY ioi.org_id = PRIOR ioi.parent_org_id_b
order by ioi.org_level desc
) where rn=1
----------查看表名与表空间
Select * From user_tables Where table_name = 'ICT_RMT_APPO';
Select * From User_Tablespaces;
----------查询SQL 预估时间
SELECT SE.SID,
OPNAME,
TRUNC(SOFAR / TOTALWORK * 100, 2) || '%' AS PCT_WORK,
ELAPSED_SECONDS ELAPSED,
ROUND(ELAPSED_SECONDS * (TOTALWORK - SOFAR) / SOFAR) REMAIN_TIME,
SQL_TEXT
FROM V$SESSION_LONGOPS SL, V$SQLAREA SA, V$SESSION SE
WHERE SL.SQL_HASH_VALUE = SA.HASH_VALUE
AND SL.SID = SE.SID
AND SOFAR != TOTALWORK
ORDER BY START_TIME;
------TYPE opty_cur IS REF CURSOR;
整体的意思是“创建一个类型变量cur,它引用游标”,除了cur外,其余全是关键字。
TYPE cur:定义类型变量 ,is ref cursor:相当于数据类型,不过是引用游标的数据类型。
这种变量通常用于存储过程和函数返回结果集时使用,
因为PL/SQL不允许存储过程或函数直接返回结果集,
但可以返回类型变量,于是引用游标的类型变量作为输出参数或返回值就应运而生了。
----查杀进程
SELECT dob.OBJECT_NAME Table_Name,
lo.LOCKED_MODE,
lo.SESSION_ID,
vss.SERIAL#,
vps.spid,
vss.action Action,
vss.osuser OSUSER,
vss.process AP_PID,
VPS.SPID DB_PID,
'alter system kill session ' || '''' || lo.SESSION_ID || ',' ||
vss.SERIAL# || ''';' kill_command
from v$locked_object lo, dba_objects dob, v$session vss, V$PROCESS VPS
where lo.OBJECT_ID = dob.OBJECT_ID
and lo.SESSION_ID = vss.SID
AND VSS.paddr = VPS.addr
order by 2, 3, DOB.object_name;
‘贰’ SQL server中 表中如何创建索引
if exists(select *from sys.objects where naem = 'newindex')
drop index newindex
create index
--===================================
竟然没有悬赏...唉...
那算了吧
我还是都告诉你吧..
看个示例
自己琢磨去:
--==============================================
use master
go
if db_id(N'zhangxu')is not null
drop database zhangxu
go
create database zhangxu
sp_helpdb zhangxu
use zhangxu
go
IF EXISTS (SELECT *FROM SYS.OBJECTS WHERE NAME = N'WORKER')
DROP TABLE WORKER
GO
create table worker
(
w_id int identity (1000,1) not null,
w_name Nvarchar(10) unique,
w_age SMALLINT CONSTRAINT CK_W_AGE CHECK(w_age>20 and w_age<150),
w_pay money DEFAULT 0,
CONSTRAINT PK_W_ID PRIMARY KEY(W_ID)
)
SELECT *FROM WORKER--用查询技术查看表信息
sp_help worker--利用存储过程查看表信息
/*
创建简单的非聚集索引
*/
USE ZHANGXU
GO
if exists(select name from sys.indexes where name = N'IX_ID_NAME')
DROP INDEX IX_ID_NAME on worker
go--检查是否存在索引,有则删除索引
create index IX_ID_NAME--创建索引
on worker(w_id,w_name)--在ID NAME 两个字段上创建非聚集索引
drop index worker.IX_ID_NAME--删除索引
select *from sys.indexes where name = 'IX_ID_NAME'--查看索引
/*
创建唯一非聚集索引
*/
USE ZHANGXU
GO
IF EXISTS(SELECT NAME FROM SYS.INDEXES WHERE NAME = N'IX_W_NAME')
DROP INDEX IX_W_NAME ON WORKER
GO
CREATE UNIQUE INDEX IX_W_NAME--唯一非聚集索引
ON WORKER(W_NAME)
/*
查看索引T-SQL脚本
*/
--IX_W_NAME 唯一 非聚集索引
USE [zhangxu]
GO
/****** 对象: Index [IX_W_NAME] 脚本日期: 07/29/2007 16:54:53 ******/
CREATE UNIQUE NONCLUSTERED INDEX [IX_W_NAME] ON [dbo].[worker]
(
[w_name] ASC
)
WITH
(
SORT_IN_TEMPDB = OFF,
DROP_EXISTING = OFF,
IGNORE_DUP_KEY = OFF,
ONLINE = OFF
)
ON [PRIMARY]
--PK_W_ID聚集索引
USE [zhangxu]
GO
/****** 对象: Index [PK_W_ID] 脚本日期: 07/29/2007 16:56:45 ******/
ALTER TABLE [dbo].[worker]
ADD CONSTRAINT [PK_W_ID] PRIMARY KEY CLUSTERED
(
[w_id] ASC
)
WITH
(
SORT_IN_TEMPDB = OFF,
IGNORE_DUP_KEY = OFF,
ONLINE = OFF
) ON [PRIMARY]
--UQ_WORKER 唯一,非聚集索引
USE [zhangxu]
GO
/****** 对象: Index [UQ__worker__07020F21] 脚本日期: 07/29/2007 16:58:38 ******/
ALTER TABLE [dbo].[worker]
ADD UNIQUE NONCLUSTERED
(
[w_name] ASC
)
WITH
(SORT_IN_TEMPDB = OFF,
IGNORE_DUP_KEY = OFF,
ONLINE = OFF
) ON [PRIMARY]
select *from worker
insert into worker(w_name,w_age,w_pay) values('王国龙',25,4500)
‘叁’ 创建索引的sql语句怎么写
1、CREATE [UNIQUE|CLUSTERED] INDEX INDEX_NAME ON TABLE_NAME(PROPERTY_NAME)
2、其中UNIQUE和CLUSTERED为可选项,分别是建立唯一索引和聚簇索引,具体解释为:
UNIQUE:表示此索引的每一个索引值只对应唯一的数据。
3、CLUSTERED:表示要建立的索引时聚簇索引,即索引项的顺序与表中记录的物理顺序一致的索引组织。
拓展:
1、SQL语言,是结构化查询语言(StructuredQueryLanguage)的简称。SQL语言是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统;同时也是数据库脚本文件的扩展名。
2、SQL语言是高级的非过程化编程语言,允许用户在高层数据结构上工作。它不要求用户指定对数据的存放方法,也不需要用户了解具体的数据存放方式,所以具有完全不同底层结构的不同数据库系统可以使用相同的结构化查询语言作为数据输入与管理的接口。SQL语言语句可以嵌套,这使他具有极大的灵活性和强大的功能。
3、结构化查询语言SQL(STRUCTURED QUERY LANGUAGE)是最重要的关系数据库操作语言,并且它的影响已经超出数据库领域,得到其他领域的重视和采用,如人工智能领域的数据检索,第四代软件开发工具中嵌入SQL的语言等。
‘肆’ 如何用powerdesigner创建索引
如何用powerdesigner创建索引,解答如下
/步骤
1创建一个学生表(Student),包含学号Sno,班级号Sclass,姓名Sanem。
步骤阅读.2下面为班级号创建索引。
选择Indexes标签页,然后点击新增一行来添加索引,然后点击应用保存。
步骤阅读.3打开索引的属性视图进行修改索引信息,将其名称改为index_class
步骤阅读.4在索引的属性视图选择columns标签页,添加索引列。选择班级号Sclass列。
然后点击OK来确认添加。
步骤阅读.5可通过索引列的Sort属性来修改索引列的排序方式。
步骤阅读.6在第三步 属性视图 中,可通过页面下方的Unique属性控制索引是否为唯一索性,通过Cluster属性控制索引是否为簇索引。
步骤阅读.7预览下创建索引脚本如下
‘伍’ hive中 建索引可以添加if not exists 吗我想在脚本中判断索引表是否存在
如何创建索引 : 使用T-SQL语句创建索引的语法: CREATE [UNIQUE] [CLUSTERED|NONCLUSTERED] INDEX index_name ON table_name (column_name…) [WITH FILLFACTOR=x] UNIQUE表示唯一索引,可选 CLUSTERED、NONCLUSTERED表示聚集索引还是非聚集索引,可选 FILLFACTOR表示填充因子,指定一个0到依00之间的值,该值指示索引页填满的空间所占的百分比 在stuMarks表的writtenExam列创建索引: USE stuDB GO IF EXISTS (SELECT name FROM sysindexes WHERE name = 'IX_writtenExam') DROP INDEX stuMarks.IX_writtenExam /*--笔试列创建非聚集索引:填充因子为三0%--*/ CREATE NONCLUSTERED INDEX IX_writtenExam ON stuMarks(writtenExam) WITH FILLFACTOR= 三0 GO /*-----指定按索引 IX_writtenExam 查询----*/ SELECT * FROM stuMarks (INDEX=IX_writtenExam) WHERE writtenExam BETWEEN 陆0 AND 90 虽然我们可以指定SQL Server按哪个索引进行数据查询,但一般不需要我们人工指定。SQL Server将会根据我们创建的索引,自动优化查询
‘陆’ 如何使用C#根据表创建SQL索引脚本
这里的distinct表示去重,也可以用group by实现, 两者的区别在于distinct会读取所有的记录,而group by是在分组之后每组只返回一条记录,也就是说后者读取的条数要少很多,效率会更高一些,因此可以将上述代码改为:
create table validate_set as
select
user_id,
wm_concat(',',brand_id) as brand
from(
select user_id,brand_id
from t_alibaba_bigdata_user_brand_total_1
where type = '1' and visit_datetime > '07-15'
group by user_id,brand_id
)a
group by user_id;
训练集和测试集建立好之后,我们可以通过以下命令来计算测试集的推荐数目:
select sum(regexp_count(brand,',')+1) from t_tmall_add_user_brand_predict_dh;
其中REGEXP_COUNT是ODPS的一个自建函数,它的用法如下:
bigint regexp_count(string source, string pattern[, bigint start_position])
表示计算 source 中从 start_position 开始,匹配指定模式pattern 的子串的次数。比如我们有一条输出结果是:100 1,2,3,4,通过计算其中的,数(3)+1=4就计算出推荐的个数了。
UDF计算重复条数
UDF(User-Defined Function)(用户定义函数),是用户根据实际应用的需要而自行开发的函数。在 Eclipse 中的项目下新建 UDF。填入 Package 名称为:chanvee.udf,和 UDF 类名:CountHits,点击确认。插件会自动帮我们生成chanvee.udf包用于写 UDF 代码,和test.chanvee.udf包用于本地测试。
编辑CountHits.java文件,注意下文的Long不能替换为long类型,否则在ODPS上运行会报Method Not Found错误:
package chanvee.udf
import java.util.Arrays;
import java.util.HashSet;
import java.util.Set;
public class CountHits extends UDF {
public Long evaluate (String a,String b){
if(a == null || b == null) {
return 0L; //异常值
}
Set<String> set1 = new HashSet<String>();
Set<String> set2 = new HashSet<String>();
set1.addAll(Arrays.asList(a.split(",")));
set2.addAll(Arrays.asList(b.split(",")));
Long hits = 0L;
for(String s : set2){
if( set1.contains(s) )
hits++;
}
return hits;
}
}
本段函数的主要工作是在a串和b串去重后,计算它们中重复元素的个数。接下来在本地测试下 UDF 。在test.jark.udf包中有两个文件TestCountHits.java和TestUDFBase.java。由于如果 UDF 的输入参数是多个的话,本地测试默认的分隔符是逗号,与我们brand中的逗号冲突了。所以修改下TestUDFBase.java文件的第15行的分隔符为空格(当然也可以其他符号):
private final static String ODPS_SEPARATOR = " ";
同时修改第72行,去掉(String),原因是Long型不能强制转换成String:
return callMeth.invoke(UDFClass, input_parameter.toArray()) + "\n";
在TestCountHits.in文件中输入测试样例:
‘柒’ 求助:如何用C#导出SQL的建表脚本和索引脚本
有同事要导出一个数据库用户下创建索引的脚本,然后拿到另外一个库里面去执行。很少有这样的需求,问了一下,他们要进行数据迁移,在新的库中要求索引单独放在一个表空间里面,于是就把所有的索引都删除了,进行重建。
本来这个可以用如下方法来实现:
ALTER INDEX index_name rebuild tablespace tbs_name;
既然索引已经删除了,就需要从原数据库中导出创建索引的脚本,索引是依附于表而存在的,没有办法用exp/expdp工具单独导出创建索引的脚本,不过我们可以通过如下方法进行:
1 生成批量导出索引的语句
在sqlplus中运行spool create_create_index.SQLSELECT'select dbms_metadata.get_ddl(''INDEX'', ' || ''''|| INDEX_NAME||'''' || ') from al;'FROMuser_indexes ;spool off
2 生成创建索引的sql语句
在sqlplus中运行spool create_index.SQL@create_create_index.SQLspool off
得到b.sql文件中即为创建索引的语句
3 创建索引
在sqlplus中运行@create_index.SQL
‘捌’ hisat2索引构建命令
命令行:
hisat2-build[options]*
注意:
如果使用--snp,--ss和/或--exon选项,hisat2-build将需要大约200GB的运行内存来满足人类基因组规模大小的基因组的索引构建,因为建立索引涉及到graph construction。否则,就可以用8GB的运行内存在个人电脑构建索引了。
主要参数
<reference_in>
以逗号分隔的FASTA文件列表,其中包含要比对的参考序列,例如chr1.fa,chr2.fa,chrX.fa,chrY.fa;如果指定了-c,则可以具体的GGTCATCCT,ACGGGTCGT,CCGTTCTATGCGGCTTA序列。
<ht2_base>
要写入的索引文件的basename;默认情况下,hisat2-build写入文件名为NAME.1.ht2, NAME.2.ht2, NAME.3.ht2, NAME.4.ht2, NAME.5.ht2, NAME.6.ht2, NAME.7.ht2, NAME.8.ht2的文件。<ht2_base>就是文件前缀NAME。
选项
1.-f
参考基因组输入文件(指定为<reference_in>_)是FASTA文件(通常具有.fa、.mfa、.fna或类似的扩展名)。
2.-c
在命令行上给出参考序列。也就是说<reference_in>是一个逗号分隔的序列列表,而不是一个FASTA文件列表。
3.--large-index
强制hisat2-build建立一个大的索引,即使参考的长度小于~ 40亿个核苷酸。
4.-a/--noauto
禁用hisat2-build根据可用内存自动选择--bmax,--dcv和[--packed]参数的这一默认行为。相反,用户可以为这些参数指定值。如果内存在构建索引期间耗尽,将输出错误信息;由用户决定是否尝试新的参数。
5.--bmax
block 中允许的最大后缀数。允许每个block使用更多的后缀可以加快索引构建速度,但会增加内存的峰值使用。设置此选项将覆盖以前对--bmax或--bmaxdivn的任何设置。--bmaxdivn默认值是4。这是默认自动配置的;使用-a/- noauto则可以手动配置。
6.--bmaxdivn
block中允许的最大后缀数,表示为参考序列长度的一部分。设置此选项将覆盖以前对--bmax或--bmaxdivn的任何设置。默认值: --bmaxdivn 4。这是默认自动配置的;使用-a/- noauto则可以手动配置。
7.--dcv
使用<int>作为 difference-cover 样本的period。较大的period产生较少的内存开销,但可能使后缀排序变慢,特别是如果存在重复。必须是2的整数幂且必须不大于4096。默认值:1024。这是默认自动配置的;使用-a/- noauto手动配置。
8.--nodc
禁用difference-cover样本的使用。在最坏的情况下(最坏的情况是极度重复的参考序列),后缀排序变成了二次排序。默认值:关闭。
9.-r/--noref
不要构建名称为NAME.3.ht2 、NAME.4.ht2的索引部分,它包含参考序列的bitpacked版本, 用于双端测序的比对。
10.-3/--justref
只构建名称为NAME.3.ht2 、NAME.4.ht2的索引部分,它包含引用序列的bitpacked版本,用于双端测序的比对。
11.-o/--offrate <int>
为了将比对结果映射回参考序列上,有必要用基因组上相应位置标注(标记)部分或全部的Burrows-Wheeler
rows。-o/- offrate统计有多少行被标记:索引器将标记每2^<int>行。标记更多的行可以使序列-位置查找更快,但是需要更多的内存来在运行时保存注释。默认值为4(每16行标记一次;对于人类基因组来说,注释大约有680兆字节)。
12.-t/--ftabchars
ftab是用于计算的第一个<int>字符的初始Burrows-Wheeler范围的查找表。较大的<int>将生成较大的查找表,但查询时间更快。ftab的大小为4^(<int>+1)字节。默认设置为10 (ftab为4MB)。
13.--localoffrate
这个选项统计在本地索引中标记多少行:索引器将标记每2^<int>行。标记更多的行可以使引用位置查找更快,但是需要更多的内存来在运行时保存注释。默认值为3(每标记第8行,每个本地索引大约占用16KB)。
14.--localftabchars
本地ftab是本地索引中的查找表。默认设置为6 (ftab为每个本地索引8KB)。
15.-p
并行运算线程数(默认:1)。
16.--snp
提供一个snp列表(HISAT2自己的格式),如下(五列)。
SNPID snp type (single, deletion, or insertion) chromosomename zero-offset based genomic position of a SNP alternative base (single), the length of SNP (deletion), or insertion sequence(insertion)
例如:rs58784443,single,13,18447947,T
hisat2_extract_snps_haplotypes_UCSC.py(在HISAT2包中)从dbSNP文件(例如http://hgdownload.soe.ucsc.e/goldenPath/hg38/database/snp144Common.txt.gz)中提取SNPs和haplotypes。或者hisat2_extract_snps_haplotypes_VCF.py从VCF文件中提取SNPs和haplotypes(例如 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/release/20130502 /supporting/GRCh38_
positions/ALL.chr22.phase3_shapeit2_mvncall_integrated_v3plus_nounphased.rsID.genotypes.GRCh38_dbSNP_no_SVs.vcf.gz)。
17.--haplotype
提供一个单倍型列表(使用HISAT2自己的格式),如下所示(五列)。
HaplotypeID chromosome name zero-offset based left coordinate ofhaplotype zero-offset based right coordinate of haplotype a comma separated list of SNP ids in the haplotype
例如:ht35,13,18446877,18446945,rs12381094,rs12381056,rs192016659,rs538569910
关于如何提取单倍型,请参阅上面的-snp选项。这个选项不是必需的,但是单倍型信息可以防止索引构造激增,并大幅减少索引大小。
18.--ss
注意, 这个选项应该与下面的--exon选项一起使用。提供一个 剪切位点 列表(HISAT2自己的格式),如下(四列):
chromosomename zero-offset based genomic position of the flanking base on theleft side of an intron zero-offset based genomic position of theflanking base on the right strand
可以用hisat2_extract_splice_sites.py 脚本从GTF注释文件中提取剪切位点文件。
19.--exon
注意 ,这个选项应该与上面的--ss选项一起使用。提供一个外显子列表(HISAT2自己的格式),如下(三列):
chromosomename zero-offset based left genomic position of an exon zero-offset based right genomic position of an exon
可以用hisat2_extract_exons.py脚本从GTF注释文件中提取外显子文件。
20. --seed
伪随机数生成器的种子
21.--cutoff
22.-q/--quiet
静默输出,只会输出错误信息。
23.-h/--help
帮助文档
24.--version
软件版本信息
‘玖’ oracle:如何根据索引名称,得到建索引脚本
select dbms_metadata.get_ddl('INDEX','BMS_ACC_REM_UNI','MDD') from al;
INDEX:指定类型为索引
BMS_ACC_REM_UNI:索引名称
MDD:即schema,也就是指定是某个用户
你上网查查资料,我就部详细说了
‘拾’ 如何使用命令查看索引的创建脚本
“用脚本去生成创建索引的脚本”
我需要的是
“用脚本去查看生成索引的脚本”,虽然现在SQL 2008可以使用鼠标右键来查看创建的脚本
但是我想知道如何用命令去查看 “某个索引的创建脚本”
