精华内容
下载资源
问答
  • 1 type官方的说法,说这表示的“访问类型”,更通俗一点就是:mysql找到需要的数据行的方式。一下就是从效率最差到最好顺序分别介绍下:All 这个就是所谓的全表扫描,没有用到任何的index,mysql就是从头到尾把...

    很多朋友在用mysql进行调优的时候都肯定会用到explain来看select语句的执行情况,这里简单介绍结果中两个列的含义。

    1 type列

    官方的说法,说这列表示的是“访问类型”,更通俗一点就是:mysql找到需要的数据行的方式。一下就是从效率最差到最好顺序分别介绍下:

    All 这个就是所谓的全表扫描,没有用到任何的index,mysql就是从头到尾把整个表遍历一边,找到所需要的数据行。效率是最差的。如下图,这个表中的usertype不是索引,这个查询中没有用到任何索引,所以就出现了全表扫描的结果。

    1c822eabd6d661fbd417158a57850cc5.png

    index type列中出现了index,含义仅仅是局限在扫描全表的顺序是按照索引顺序扫描的,仅仅是按索引顺序去扫描的。它的有点是避免了排序,因为索引就是已经排序好的,缺点就是要承担按照索引次序读取整张表的开销。如下,这个查询中order by id,id是这个表的索引,但是因为没有在where中出现任何的索引列,所以它也只是索引顺去扫描了全表。(这里强调一下,你的查询语句中where条件中没有索引,只是order by 的时候用了index,而且没有用limit限制,type这里显示的是all,也就是这种情况下没有limit,还是扫面全表的)

    695b9985ae7827c6e54c2add8fca50c0.png

    range 这个一般就是在你的where语句中出现了between或者“>”这种符号的时候会出现这个。这种范围扫描索引扫描比全表扫描要好,因为它只需要开始于索引的某一点,而结束语另一点,不用扫描全部索引。

    ref 这也是一种索引访问,它返回所有匹配某个单独值的行,然而,它可能会找到多个符合条件的行,所以他应该属于查找和扫描的混合体。

    const,system 当mysql能对查询的部分就行优化,并且转换成一个常量的时候,它就会使用这种访问类型了。比如你把一行的主键当做where条件放进去,那mysql就可以把它转换成一个常量,然后查询。如下图:uid是主键,作为where条件就能出现这个效率最高的查询结果。

    12e9d9a08e52d6ac7e2857d58e58bfce.png

    2 extra列

    extra列中出现的信息一般不是太重要,但是还是有很多信息我们可以从这里面获取到:

    using index:出现这个说明mysql使用了覆盖索引,避免访问了表的数据行,效率不错!

    using where:这说明服务器在存储引擎收到行后将进行过滤。有些where中的条件会有属于索引的列,当它读取使用索引的时候,就会被过滤,所以会出现有些where语句并没有在extra列中出现using where这么一个说明。

    using temporary:这意味着mysql对查询结果进行排序的时候使用了一张临时表。

    using filesort:这个说明mysql会对数据使用一个外部的索引排序,而不是按照表内的索引顺序进行读取。

    展开全文
  • 在Oracle中,对于表的可以为其指定默认值,这样在insert数据的时候,如果该不出现在insert语句中的时候,会为其赋...注意这里不出现在insert语句中,而不是该的值为空值的时候.如下面的表:create table test(...

    5268f80b9b1e01f982625ef6fac83ca1.png

    在Oracle中,对于表的列可以为其指定默认值,这样在insert数据的时候,如果该列不出现在insert语句中的时候,会为其赋上默认值.注意这

    在Oracle中,对于表的列可以为其指定默认值,这样在insert数据的时候,如果该列不出现在insert语句中的时候,会为其赋上默认值.注意这里是该列不出现在insert语句中,而不是该列的值为空值的时候.如下面的表:

    create table test(id number(10),name varchar2(20) default 'name')

    当用下面的SQL语句插入行的时候,会给name列赋默认值.

    insert into test(id) values(1)

    查询结果为:select * from test

    ID

    NAME

    1

    name

    当用下面的SQL语句插入行的时候,不会给name列赋默认值.

    insert into test values(2,null)

    查询结果发现ID为2的行的name的值为空:select * from test

    ID

    NAME

    1

    name

    2select * from test where name is null 能将ID为2的行查询出来.

    同样,在通过JAVA代码用JDBC,一些ORM框架插入数据的时候,也需要注意同样的问题.

    上面的代码插入的行,name列也不会被赋值为默认值,将##1处改为sta.setString(2, "")同样插入的是空值(null).

    更多Oracle相关信息见Oracle 专题页面 ?tid=12

    logo.gif

    1428d0e076c3959ab11d28a39bc84fab.png

    5268f80b9b1e01f982625ef6fac83ca1.png

    本条技术文章来源于互联网,如果无意侵犯您的权益请点击此处反馈版权投诉

    本文系统来源:php中文网

    展开全文
  • //转向量 V 是啥意思 呀。。。。 //一个转置矩阵M-旋转+平移 r00 r01 r02 px r10 r11 r12 py r20 r21 r22 pz [0] [0] [0] sc //一个向量 [vx vy vz 0] //转向量 V M*V 可见px,py,pz不起作用,即M对...
  • (Tips:blastall直接回车就会给出你所有的参数帮助,但是英文的)-p: p program的简写,program在计算机领域中程序的意思。此参数指定要使用何种子程序,所谓子程序,就是针对不同的需要,如核酸序列和核酸序列...

    本地

    blastall: 这是本地化/命令行执行blast时的程序名字!(Tips:blastall直接回车就会给出你所有的参数帮助,但是英文的)

    -p: p 是program的简写,program在计算机领域中是程序的意思。此参数是指定要使用何种子程序,所谓子程序,就是针对不同的需要,如核酸序列和核酸序列进行比对、蛋白质序列和蛋白质序列进行比对、假设翻译后核酸序列于蛋白质序列进行比对,选择相应的子程序: blastn 是用于核酸对核酸 blastp 是蛋白质对蛋白质序列 等等,一共5个自程序。

    -i: i 是input的简写,意思是输入文件,就是你自己的要进行比对的序列文件(fasta格式)

    -d: d是database的简写,意思是要比对的目标数据库,在例子中就是humanRNA.fasta (别忘了要formatdb)

    -o: o是output的简写,意思是结果文件名字,这个根据你自己的习惯起名字,可以带路径,(上边两个参数-i -d 也都可以带路径)

    *注意以上4个参数是必须的,缺一不可,下面的参数是为了得到更好的结果自己可调的参数,如果你不加也没有关系,blastall程序本身会给一个默认值!

    -a: 是指计算时要用的CPU个数,我的机器有两个CPU,所以用-a 2,这样可以并行化进行计算,提高速度,当然你的计算机就一个CPU,可以不用这个参数,系统默认值为1,就是一个CPU

    -F: 是filter的简写,blastall程序中有对简单的重复序列和低复杂度的一些repeats过滤调,默认是T (注意以后的有几种参数就两个选项,T/F T就是ture,真,你可以理解为打开该功能; F就是false,假,理解为关闭该功能)

    -T: 是HTML的简写,是指blast结果文件是否用HTML格式,默认是F!如果你想用IE看,我建议用-T T

    -e: 是Expectation value,期望值,默认是10,我用的10-10!

    BLASTALL 用法

    a.格式化序列数据库

    格式化序列数据库— —formatdb

    formatdb简单介绍:

    formatdb处理的都是格式为 ASN.1和 FASTA,而且不论是核苷酸序列数据库,还是蛋白质序列数据库;不论是使用Blastall ,还是Blastpgp,Mega Blast应用程序,这一步都是不可少的。

    formatdb命令行参数:

    formatdb –    得到formatdb 所有的参数显示(见附录二)和介绍,

    主要参数的说明:

    -i 输入需要格式化的源数据库名称 Optional

    -p 文件类型,是核苷酸序列数据库,还是蛋白质序列数据库

    T – protein   F - nucleotide [T/F] Optional default = T

    -a 输入数据库的格式是ASN.1(否 则是FASTA)

    T - True,     F - False.    [T/F] Optional default = F

    -o 解析选项

    T - True: 解析序列标识并且建立目录

    F - False: 与上相反

    [T/F] Optional default = F

    命令示例:

    formatdb -i ecoli.nt -p F -o T

    运行此命令就会在当前目录下产生用于BLAST搜索的7个文件,一旦如上的formatdb命令执行完毕,就不 再需要ecoli.nt,可以移除。此时,blastall可以直接使用。

    b.Blastall常用参数简析

    -p Program Name [String]

    所用程序名称[String],用 户可以根据需要从blastn,blastp,blastx,tblastn,tblastx中任选一程序。

    -d Database [String] default = nr

    所用序列数据库的名称 [String],默认为:nr

    -i Query File [File In] default = stdin

    所用查询序列文件[File In], 默认为:stdin,本文例为 test.txt

    -e Expectation value (E) [Real]   default = 10.0

    期望值[Real]   默认为10.0 描述搜索某一特定数据 库时,随机出现的匹配序列数目。

    -m alignment view options: 比对显 示选项,其具体的说明可以用以下的比对实例说明

    0 = pairwise,显示具体匹配信息(缺省)

    1 = query-anchored showing identities,查询-比上区域,显示一致性

    2 = query-anchored no identities,查询-比上区域,不显示一致性

    3 = flat query-anchored, show identities,查询-比上区域的屏文形式,显示一致性

    4 = flat query-anchored, no identities,查询-比上区域的屏文形式,不显示一致性

    5 = query-anchored no identities and blunt ends,查询-比上区域,不显示一致性,无突然的结束

    6 = flat query-anchored, no identities and blunt ends,查询-比上区域的屏文形式,不显示一致性

    7 = XML Blast output,XML格式的输出

    8 = tabular,TAB格式的输出

    9 =tabular with comment lines,带注释行的TAB格式的输出

    10 =ASN, text,文本方式的ASN格式输出

    11 =ASN, binary [Integer] default = 0,二进制方式的ASN格式输出

    -m 8 用法举例说明如下:

    A_query    B_Sbjct    97.61    585    3    3    309    886    94498    95078    0.0    1017

    A_query    B_Sbjct    100.00    303    0    0    913    1215    95092    95394    2e-172    601

    A_query    B_Sbjct    100.00    209    0    0    1    209    94196    94404    3e-116    414

    A_query    B_Sbjct    100.00    123    0    0    1234    1356    95413    95535    6e-65    244

    A_query    B_Sbjct    100.00    41    0    0    210    250    94096    94136    5e-16    81.8

    A_query    B_Sbjct    100.00    35    0    0    251    285    94440    94474    2e-12    69.9

    A_query    B_Sbjct    100.00    29    0    0    885    913    95747    95775    7e-09    58.0

    A_query    A_query    97.61    585    3    3    309    886    403    983    0.0    1017

    A_query    A_query    100.00    303    0    0    913    1215    997    1299    2e-172    601

    A_query    A_query    100.00    209    0    0    1    209    101    309    3e-116    414

    A_query    A_query    100.00    123    0    0    1234    1356    1318    1440    6e-65    244

    A_query    A_query    100.00    41    0    0    210    250    1    41    5e-16    81.8

    A_query    A_query    100.00    35    0    0    251    285    345    379    2e-12    69.9

    A_query    A_query    100.00    29    0    0    885    913    1652    1680    7e-09    58.0

    结果12列

    Query id,Subject id,% identity,alignment length,mismatches,gap openings,q. start,q. end,s. start,s. end,e-value,bit score

    ————————————————————————————————————-

    -o BLAST report Output File [File Out] Optional default = stdout,BLAST报告的输出文件[File Out] 默认为:stdout

    -F Filter query sequence (DUST with blastn, SEG with others) [String] default = T

    查询序列过滤,将那些 给出影响比对结果的低复杂度区域过滤掉。用blastn进行查询的序列用DUST程序过滤,其他的用SEG过滤 。对DUST和SEG的详细情况,用户可以自己查询资料。

    -G Cost to open a gap (zero invokes default behavior) [Integer]   default = 0

    空位开放罚分[Integer] (设为0则调用默认行为)   默认为0分

    -E Cost to extend a gap (zero invokes default behavior) [Integer] default = 0

    空位扩展罚分[Integer] (设为0则调用默认行为) 默认为0分

    -T Produce HTML output [T/F] default = F

    以网页形式打印

    -X X dropoff value for gapped alignment (in bits) (zero invokes default behavior)

    blastn 30, megablast 20, tblastx 0, all others 15 [Integer],default = 0

    -I Show GI’s in deflines [T/F]   default = F

    提示行显示GI number 默认不显示

    -q Penalty for a nucleotide mismatch (blastn only) [Integer] default = -3

    核酸序列基对不匹配所罚分数(blastn only) [Integer] 默认罚3分

    -r Reward for a nucleotide match (blastn only) [Integer] default = 1

    核苷酸序列基对匹配所加分数(blastn only) [Integer] 默认加1分

    -g Perfom gapped alignment (not available with tblastx) [T/F] default = T

    是否执行带缺口的比对(not available with tblastx) 默认为是 

    -a Number of processors to use [Integer] default = 1

    使用处理器的数目[Integer] 默认为单机

    -B Number of concatenated queries, for blastn and tblastn [Integer] Optional default = 0

    需要联配查询的序列数目 for blastn and tblastn [Integer] 默认为单序列

    -M Matrix [String],default = BLOSUM62 打分矩阵,默认BLOSUM62

    -W Word size, default if zero (blastn 11, megablast 28, all others 3) [Integer] default = 0

    所开窗口

    -w Frame shift penalty (OOF algorithm for blastx) [Integer] default = 0

    窗口罚分

    展开全文
  • 1)blast产生背景双序列比对可以采用基于动态规划算法的Needleman-Wunsch(NW)和Smith-Waterman algorithm(SW)算法,虽然精度高,但计算消耗大。当与数据库比对的时候,该算法就显得不切实际。因此TASTA,blast采用...

    1)blast产生背景

    双序列比对可以采用是基于动态规划算法的Needleman-Wunsch(NW)和Smith-Waterman algorithm(SW)算法,虽然精度高,但计算消耗大。当与数据库比对的时候,该算法就显得不切实际。因此TASTA,blast采用启发式算法使得通过大幅度丢失灵敏度来减少运行时间。与FASTA软件相比,blast通过把搜索限制在狭隘的矩阵对角线条带上,来改进FASTA进行数据库搜索的速度。

    2)blast的大致原理

    blast 程序首先查询query序列的所有子序列,储存在哈希表中。收索数据库中所有与子序列精确匹配的序列,作为种子,向两个方向继续延伸每个精确匹配。期间不允许有空位和错配的情况。然后在限制性区域内;连接延伸的匹配序列,期间允许空位和错配,比对分值要大于设定的阈值。阈值越大,需要匹配的计算越小,软件计算速度越快。仅仅对对延伸匹配进行连接的区域(限制性区域),而不是整个矩阵,是blast 相对于其他算法速度提高的关键,是以牺牲对角线带以外的任何匹配信息为代价,因此并不能确保query序列与数据库比对结果是最优的比对结果。

    3)blast的格式解读

    因为blast可以进行本地化,网上教程很多,这里不再详细介绍。根据不同的参数可以输出多种比对格式,例如HTML, plain text, XML等。因为输出的格式多样,我们以常用的M8格式进行简单的介绍。

    20180821120512792887.png

    这12列对应的信息分别是:

    Query id:查询序列ID标识

    Subject id:比对上的目标序列ID标识

    % identity:序列比对的一致性百分比

    alignment length:符合比对的比对区域的长度

    mismatches:比对区域的错配数

    gap openings:比对区域的gap数目

    q. start:比对区域在查询序列(Query id)上的起始位点

    q. end:比对区域在查询序列(Query id)上的终止位点

    s. start:比对区域在目标序列(Subject id)上的起始位点

    s. end:比对区域在目标序列(Subject id)上的终止位点

    e-value:比对结果的期望值,将比对序列随机打乱重新组合,和数据库进行比对,如果功能越保守,则该值越低;该E值越高说明比对的高得分值是由GC区域,重复序列导致的。对于判断同源性是非常有意义的几个参数。

    bit score:比对结果的bit score值

    4)习题

    4.1)blast的产生背景是什么?

    4.2)blast采用的是什么算法

    4.3)和动态规划算法相比,blast 的算法有什么优点?

    4.4) blast和FASTA软件算法之间的区别是什么?

    4.5) blast核酸比对中默认的word是多少?

    4.6)word的大小是如何决定blast的运行速度?

    4.7)blast比FSAT软件搜索速度快的原因是什么?

    4.8) blast是对什么建立索引的?

    4.9)blast建立索引的目的是什么?

    4.10)blast比对输出的结果有哪些格式

    4.11)在M8格式中共有多少列,每一列代表的是什么意思?

    4.12)E值的含义是什么?

    4.13)统计test.blast有多少条query序列

    4.14)统计比对得分最低的query序列

    4.15)将比对长度大于200(QueryLen)且比对相似率(Identities%)大于90的信息输出来

    4.16)找出比对最长的基因的ID (即QueryLen值最大)

    4.17)按照BitScore分值(第12列)的大小对整个文件进行排序(从大到小)

    4.18)找出比对长度大于100且E值小于3e-17的比对

    4.19)找出序列一致性大于60%,得分高于70的比对信息

    4.20)输出gap最多的比对信息

    5)参考资源

    https://en.wikipedia.org/wiki/BLAST#Output

    第二代测序信息处理

    展开全文
  • 前言 最近打算写一款webpack压缩图片的插件,但是需要数据对比,原始数据和压缩后的数据以及压缩的比例相关信息,于是想到了webpack打包的时候不就有相关的输出嘛,于是查看了一下webpack怎么输出信息的。...
  • 如何看懂NCBI BLAST输出结果2010-11-13 10:38:11| 分类:生物信息分析| 标签:blast |字号大中小订阅本文转自:...Blast 通过两两比对,找到数据库中与输入序列最相似的...
  • 传统的数据开放共享方式,很多将原始数据以明文的方式直接输出,这样在数据安全和隐私保护方面存在显著风险,不符合日益完善的法律法规要求,也越来越不能满足当今数据体量、规模日益庞大而复杂的应用需求。...
  • 传统的数据开放共享方式,很多将原始数据以明文的方式直接输出,这样在数据安全和隐私保护方面存在显著风险,不符合日益完善的法律法规要求,也越来越不能满足当今数据体量、规模日益庞大而复杂的应用需求。...
  • 下图python计算0到987654321的累加和的代码:下图go中计算0到987654321的累加和的代码:当两段代码分别运行的时候,go的运行结果眨眼间就运算出来了;但python的运算结果却迟迟没有显示。最后等了一分多钟,...
  • 如题,用工具把widows的系统日志导出来了,但是我不知道每一列是啥意思,求助各位
  • 先说本质。在mysql数据库里面。有个表,叫user。里面存放的便登录用户的信息。如果命名行则可以通过 use mysql; show tables;...loaclhost指的本机的意思。也就是只有本机可以访问该数据库。...
  • 总结作为程序员要虚心 ——鲁迅这里写的自己对于错误处理的一些理解,末尾出了参考文章,如果有侵权,可以联系我修改。如果有写得不对的地方,请重拍!1. 引言错误处理一个历史很悠久的话题了,其中也有很多...
  • 展开全部subplot(2,3,1)指一个2行3的图中从左到右从上到下的第一个位置。subplot将多个图画到一个平面上32313133353236313431303231363533e78988e69d8331333431376634的工具。其中,m表示图排成m行,n表示图排...
  • 1基数是啥?大白话讲:基数指的就是MySQL表中某一列的不同值的数量。如果这一列是唯一索引,那基数 == 行数。如果这一列是sex,枚举类型只有男女,那它是基数就是2。Cardinality越高,列就越有成为索引的价值。MySQL...
  • 增、删、改、查库DATABASE1,创建数据库【增】create databasedbname charset utf8;#创建 数据库 库名 设置编码 UTF82,查询库【查】show ...#出所有存在的数据库名3,改数据库【改】alter databasedb1 charset gb...
  • partition by 用来分组的,用了这个就可以实现在组内进行排序order by用来确定排序的基准的,按照那一来排序抗菌药物监测- 04围手术期目标监测报表--时间段内有多条手术记录取该时间段内手术...
  • 假设命令在命令中,我使用多处理模块,一次运行两个进程。(我正在使用linux)代码如下:import subprocess, multiprocessingimport os,sys,os.pathdef execCmd(cmd):""" Executes the command """print "Executing:...
  • 随后N行,每行首先给出一个正整数K(≤1000),为朋友圈中的人数,然后出一个朋友圈内的所有人——为方便起见,每人对应一个ID号,为5位数字(从00000到99999),ID间以空格分隔;之后给出一个正整数M(≤10000...
  • axis=0指的逐行,axis=1指的 df=pd.DataFrame([[1,1,1,1],[2,2,2,2],[3,3,3,3]]) print(df) ...df.mean(axis=1)# 按照意思axis取1意思是计算平均值,那么其实算出来的行平均mean of row Ou...
  • 一、CD4017功能概述CD40175位Johnson十进制计数器分频器,时钟输入端的斯密特触发器具有脉冲整形功能,对输入时钟脉冲上升和下降时间无限制,CD4017 提供了16 引线多层陶瓷双直插(D)、熔封陶瓷双直插(J)、塑料...
  • unique在MySQL中完整性约束里的一种,如果某的值需要唯一的那么就添加UNIQUE约束。创建唯一索引的目的不是为了提高访问速度,而只是为了避免数据出现重复。唯一索引可以有多个但索引的值必须唯一,索引的值...
  • 使用关联的ID保留已经看到的元素的映射.from itertools import countfrom collections import defaultdictmapping = defaultdict(count().__next__)result = []for element in my_list:result....)你也可以使用...
  • L.split()['spam,asa,sdfs']把字符串拆成最佳latex split所需的包案楼主你好!python中的split()不带任何参数个很好用的特性:忽略具体的空格数来分割字符串。请看一下代码:handle_string = 'Hello What...
  • html5中标签作用定义表格中一个或多个属性值,这里详细介绍下标签用法、标签属性以及标签应用实例。html中标签作用:定义表格中一个或多个属性值标签用法: 标签为表格中一个或多个定义属性值。如需对全部...
  • python中的axis=0和1代表什么之前一直很疑惑axis=0和axis=1到底什么时候代表按行操作、什么时候操作。记得在R中也有类似的问题(0代表行、1代表)。在(caiqingfei)的博客中提到:axis=0:表示沿着每一或者行...
  • update()与save()的区别两者都对数据的修改保存操作,但是save()函数将数据的全部数据项全部重新写一遍,而update()则针对修改的项进行针对的更新效率高耗时少。所以以后对数据的修改保存用update()让我们...
  • 他们究竟代表DataFrame的行还是?考虑以下代码:>>>df = pd.DataFrame([[1, 1, 1, 1], [2, 2, 2, 2], [3, 3, 3, 3]], \columns=["col1", "col2", "col3", "col4"])>>>dfcol1 col2 col3 c...
  • 当时我还一脸懵逼,回味了很久才大致知道她啥意思。大概就是这么一个dataframe:变身前把他进化成:进化后当时想了想,这需求很简单啊,应该五分钟吧。于是,我又熟练的打开CSDN,在饱受一大群装逼犯和复制粘贴党的...

空空如也

空空如也

1 2 3 4 5 ... 7
收藏数 124
精华内容 49
关键字:

列是啥意思