intersect

与oracle 有关的那点事

不打扰是莪最后的温柔 提交于 2020-08-12 01:44:47
常用操作 1.查看创建表参数 提取完整的DDL: SELECT DBMS_METADATA.GET_DDL('TABLE','table_name') FROM DUAL; 2.指定返回记录数 select XXX from XXX where rownum<n 3.查询指定列的所有值且每个值只显示单条记录: select 需要查询重复数据的列名 from 表名 group by 需要查询重复数据的列名 4.oracle中的交集、差集、并集 INTERSECT MINUS UNION / UNION ALL:union重复内容取唯一,union all没有过滤重复内容 组函数 组函数:即聚合函数,对一组值执行计算,并返回单个值(COUNT除外)。 聚合函数忽略空值。 聚合函数可以用于select、having子句,不可以用于where语句,因为where是对逐条记录进行筛选。 常用聚合函数: AVG:返回平均值,空值被忽略 COUNT:返回指定组中记录的数量 MAX MIN SUM:只能用于数字列,空值被忽略。 COUNT_BIG:返回指定组中的项目数量,与COUNT函数不同的是COUNT_BIG返回bigint值,而COUNT返回的是int值。 GROUPING:产生一个附加的列,当用CUBE或ROLLUP运算符添加行时,输出值为1.当所添加的行不是由CUBE或ROLLUP产生时

与oracle 有关的那点事

眉间皱痕 提交于 2020-08-09 05:54:32
常用操作 1.查看创建表参数 提取完整的DDL: SELECT DBMS_METADATA.GET_DDL('TABLE','table_name') FROM DUAL; 2.指定返回记录数 select XXX from XXX where rownum<n 3.查询指定列的所有值且每个值只显示单条记录: select 需要查询重复数据的列名 from 表名 group by 需要查询重复数据的列名 4.oracle中的交集、差集、并集 INTERSECT MINUS UNION / UNION ALL:union重复内容取唯一,union all没有过滤重复内容 组函数 组函数:即聚合函数,对一组值执行计算,并返回单个值(COUNT除外)。 聚合函数忽略空值。 聚合函数可以用于select、having子句,不可以用于where语句,因为where是对逐条记录进行筛选。 常用聚合函数: AVG:返回平均值,空值被忽略 COUNT:返回指定组中记录的数量 MAX MIN SUM:只能用于数字列,空值被忽略。 COUNT_BIG:返回指定组中的项目数量,与COUNT函数不同的是COUNT_BIG返回bigint值,而COUNT返回的是int值。 GROUPING:产生一个附加的列,当用CUBE或ROLLUP运算符添加行时,输出值为1.当所添加的行不是由CUBE或ROLLUP产生时

MySQL关键字EXPLAIN的用法及其案例

穿精又带淫゛_ 提交于 2020-08-06 09:56:02
概述 根据表、列、索引和WHERE子句中的条件的详细信息,MySQL优化器考虑了许多技术来高效地执行SQL查询。 可以在不读取所有行的情况下对大型表执行查询; 可以在不比较每一行组合的情况下执行包含多个表的联接。 优化器选择执行最有效查询的一组操作称为“查询执行计划(query execution plan)”,也称为解释计划(EXPLAIN plan)。 我们的目标是认识到EXPLAIN计划中表示查询优化良好的方面,并学习SQL语法和索引技术,以便在看到一些低效的操作时改进该计划。 使用方法,就是在select语句前加上explain即可: explain SELECT * FROM question; 输出结果如下: mysql> explain SELECT * FROM question; +----+-------------+----------+------+---------------+------+---------+------+------+-------+ | id | select_type | table | type | possible_keys | key | key_len | ref | rows | Extra | +----+-------------+----------+------+---------------+------+--

PHP数组常用函数分类整理

微笑、不失礼 提交于 2020-08-05 20:31:06
一、数组操作的基本函数 数组的键名和值 array_values($arr); 获得数组的值 array_keys($arr); 获得数组的键名 array_flip($arr); 数组中的值与键名互换(如果有重复前面的会被后面的覆盖) in_array("apple",$arr); 在数组中检索apple array_search("apple",$arr); 在数组中检索apple ,如果存在返回键名 array_key_exists("apple",$arr); 检索给定的键名是否存在数组中 isset($arr[apple]): 检索给定的键名是否存在数组中 数组的内部指针 current($arr); 返回数组中的当前单元 pos($arr); 返回数组中的当前单元 key($arr); 返回数组中当前单元的键名 prev($arr); 将数组中的内部指针倒回一位 next($arr); 将数组中的内部指针向前移动一位 end($arr); 将数组中的内部指针指向最后一个单元 reset($arr; 将数组中的内部指针指向第一个单元 each($arr); 将返回数组当前元素的一个键名/值的构造数组,并使数组指针向前移动一位 list($key,$value)=each($arr); 获得数组当前元素的键名和值 数组和变量之间的转换 extract($arr)

基于oracle的sql优化

本秂侑毒 提交于 2020-08-05 01:07:31
一.编写初衷描述 【博客地址】http://www.cnblogs.com/grl214 在应有系统开发初期,由于数据库数据较少,对于sql语句各种写法的编写体现不出sql的性能优劣,随着数据的不断增加,出现海量数据,劣质sql与优质sql在执行效率甚至存在百倍差距,可见sql优化的重要性 二.Sql语句性能优化 2.1 认识Oracle的执行过程 2.2 Oracle优化法则---漏斗法则 2.3 Oracle 执行计划 2.3.1 什么是Oracle执行计划 执行计划是一条查询语句在Oracle中执行过程或者访问路径的描述. 2.3.2 查看Oracle执行计划 1.执行计划常用的列字段解释 基数:返回的结果集行数 字节:执行该步骤后返回的字节数 耗费(cust),CPU耗费:Oracle估计的该步骤的执行成本,用于说明SQL执行的代价,理论上越小越好. 2.3.3 看懂Oracle执行计划 2.3.3.1执行顺序 根据缩进来判断,缩进最多的最先执行(缩进相同时,最上面的最先执行) 2.4 表的访问方式 TABLE ACCESS FULL(全表扫描) TABLE ACCESS BY ROWID(通过rowid的表存取) TABLE ACCESS BY INDEX SCAN(索引扫描) 2.4.1 ABLE ACCESS FULL(全表扫描) Oracle会读取表中的所有行

PHP编码安全之二: 代码执行漏洞

自古美人都是妖i 提交于 2020-07-27 11:34:53
本文内容参考自《PHP安全之道》。 PHP提供代码执行(code execution)类函数是为了方便开发人员处理各类数据,但是不合理的使用会造成潜在的安全风险。其中的eval, assert, pre_replace, create_function等能执行代码的函数, 不会对用户输入的参数进行过滤,可能导致被执行任意恶意代码。 一、代码执行函数 eval() 像js一样, php的eval()函数可以把字符串当做php代码执行,通常用于处理模板和动态加载php代码。 eval('phpinfo()'); assert() assert()函数用来检查一个断言(表达式)是否为 FALSE, 主要用来进行debug。 // PHP5: assert( mixed $assertion[, string $description] ) : bool // PHP7: assert( mixed $assertion[, Throwable $exception] ) : bool 如果 $assertion 是字符串,它将会被 assert() 当做 PHP 代码来执行: assert('phpinfo()'); preg_replace() 在preg_repalce函数中, 当第一个参数的正则表达式中有e修正符时,第二个参数的字符串被当做php代码执行。 preg_replace

Delete row with shapes.. TopLeftCell Error

你说的曾经没有我的故事 提交于 2020-06-28 07:04:06
问题 I am currently making an excel template for other people in company to use. I need to delete rows with a single button. I believe I've done everything correctly, but I am keep getting an error. Right below you can see the codes which gives error; Worksheets("Storyboard").Activate Worksheets("Storyboard").Unprotect Password:="**$#B'A1313XQ.;**" satirlar = Baslangic & ":" & Bitis For i = Baslangic To Bitis Dim s As Shape For Each s In Worksheets("Storyboard").Shapes If Not Intersect(s

ArcGis基础——相接面制造指定距离的分隔带

为君一笑 提交于 2020-05-06 00:32:18
回家,出发前夜,看完电影吃晚饭回到住处已近十一点,和同事扯了一会儿淡,正准备去睡觉,这哥们儿突然想起一个问题: 如何把相接的面搞出一个20cm的分隔带?因为两区划定项目数据质检要求不同的地块图斑间应有大于20cm的距离,而从其他数据转绘处理而来的地块图层面图斑是相接的,不同图斑种植年份不同所以不能进行合并。 他的打算线转面,然后找到图斑间的公共边,进行缓冲,然后对原图班进行擦除。 我反问他“如何确定图斑的公共边?”,一顿“批斗”。 他抛出这个问题的时候我便想到了找出图斑公共边的的方法以及整个流程的方案,大半夜的掏出电脑给这厮讲解了一下。 各位看官是否有好的解决方案,欢迎打脸。 step1 找出公共边 使用Intersect工具进行相交操作,out type输出类型选择line,相接图斑的公共边便会生成,如下图是“LQDK_Intersect”。 step2 生成缓冲区 对“LQDK_Intersect”进行缓冲操作,设定缓冲距离0.125m,双侧缓冲,终端类型是扁平矩形,缓冲区全部融合。生成“LQDK_Intersect_Buffer”。 step3 擦除 使用Erase工具用“LQDK_Intersect_Buffer”要素类擦除原“LQDK”要素类。得到“LQDK_Erase”要素类。 问题来了 由于缓冲形成的矩形端部相接处可能存在空隙,造成下图的情况。 restep

【MySQL】EXPLAIN命令详解--解释执行计划

独自空忆成欢 提交于 2020-05-04 00:34:19
具体参考:    https://www.cnblogs.com/gomysql/p/3720123.html 原文如下: 在工作中,我们用于捕捉性能问题最常用的就是打开慢查询,定位执行效率差的SQL,那么当我们定位到一个SQL以后还不算完事,我们还需要知道该SQL的执行计划,比如是全表扫描,还是索引扫描,这些都需要通过EXPLAIN去完成。EXPLAIN命令是查看优化器如何决定执行查询的主要方法。可以帮助我们深入了解MySQL的基于开销的优化器,还可以获得很多可能被优化器考虑到的访问策略的细节,以及当运行SQL语句时哪种策略预计会被优化器采用。需要注意的是,生成的QEP并不确定,它可能会根据很多因素发生改变。MySQL不会将一个QEP和某个给定查询绑定,QEP将由SQL语句每次执行时的实际情况确定,即便使用存储过程也是如此。尽管在存储过程中SQL语句都是预先解析过的,但QEP仍然会在每次调用存储过程的时候才被确定。 通过执行计划可以知道什么? (root@yayun-mysql-server) [test]>explain select d1.age, t2.id from (select age,name from t1 where id in (1,2))d1, t2 where d1.age=t2.age group by d1.age, t2.id order by t2