records

SQL索引(索引优化)

荒凉一梦 提交于 2020-04-09 04:22:08
SQL索引 若想利用索引达到预想的提高查询速度的效果,我们在添加索引时,必须遵循以下原则 #1.最左前缀匹配原则,非常重要的原则, create index ix_name_email on s1(name,email,) - 最左前缀匹配:必须按照从左到右的顺序匹配 select * from s1 where name='egon'; #可以 select * from s1 where name='egon' and email='asdf'; #可以 select * from s1 where email='alex@oldboy.com'; #不可以 mysql会一直向右匹配直到遇到范围查询(>、<、between、like)就停止匹配, 比如a = 1 and b = 2 and c > 3 and d = 4 如果建立(a,b,c,d)顺序的索引, d是用不到索引的,如果建立(a,b,d,c)的索引则都可以用到,a,b,d的顺序可以任意调整。 #2.=和in可以乱序,比如a = 1 and b = 2 and c = 3 建立(a,b,c)索引可以任意顺序,mysql的查询优化器 会帮你优化成索引可以识别的形式 #3.尽量选择区分度高的列作为索引,区分度的公式是count(distinct col)/count(*), 表示字段不重复的比例

[转帖]ORACLE外部表总结

自古美人都是妖i 提交于 2020-04-09 01:59:47
ORACLE外部表总结 https: // www.cnblogs.com/kerrycode/p/3894260.html 外部表介绍 ORACLE外部表用来存取数据库以外的文本文件(Text File)或ORACLE专属格式文件。因此,建立外部表时不会产生段、区、数据块等存储结构,只有与表相关的定义放在数据字典中。外部表,顾名思义,存储在数据库外面的表。当存取时才能从ORACLE专属格式文件中取得数据,外部表仅供查询,不能对外部表的内容进行修改(INSERT、UPDATE、DELETE操作)。不能对外部表建立索引。因为创建索引就意味着要存在对应的索引记录。而外部表其实在没有存储在数据库中。故在外部是无法建立索引的。如果硬要建立的话,则系统会提示“操作在外部组织表上不受支持”的错误提示。 Notice: 外部表是ORACLE 9i后引入的。 外部表特征 (1) 位于文件系统之中(一定要在数据库服务器中,而不是其它网络路径),按一定格式分割, 例如@#$等,文本文件或者其他类型的文件可以作为外部表。   (2) 对外部表的访问可以通过SQL语句来完成,而不需要先将外部表中的数据装载进数据库中。   (3) 外部数据表都是只读的,因此在外部表不能够执行DML操作,也不能创建索引。   (4) ANALYZE语句不支持采集外部表的统计数据,应该使用DMBS

count(1)、count(*)与count(列名)的执行区别

筅森魡賤 提交于 2020-04-06 03:37:35
执行效果: 1. count(1) and count(*) 当表的数据量大些时,对表作分析之后,使用count(1)还要比使用count(*)用时多了! 从执行计划来看,count(1)和count(*)的效果是一样的。 但是在表做过分析之后,count(1)会比count(*)的用时少些(1w以内数据量),不过差不了多少。 如果count(1)是聚索引,id,那肯定是count(1)快。但是差的很小的。 因为count(*),自动会优化指定到那一个字段。所以没必要去count(1),用count(*),sql会帮你完成优化的 因此:count(1)和count(*)基本没有差别! 2. count(1) and count(字段) 两者的主要区别是 (1) count(1) 会统计表中的所有的记录数,包含字段为null 的记录。 (2) count(字段) 会统计该字段在表中出现的次数,忽略字段为null 的情况。即不统计字段为null 的记录。 转自:http://www.cnblogs.com/Dhouse/p/6734837.html count(*) 和 count(1)和count(列名)区别 执行效果上: count(*)包括了所有的列,相当于行数,在统计结果的时候,不会忽略列值为NULL count(1)包括了忽略所有列,用1代表代码行,在统计结果的时候

Linux/UNIX: 使用 dd 命令创建 1GB 大小的二进制

淺唱寂寞╮ 提交于 2020-03-27 13:27:30
3 月,跳不动了?>>> 我如何使用 Shell 命令,在 UNIX/Linux/BSD 系统上使用dd命令创建1GB或者10GB镜像文件? 您可以使用 dd 命令生成镜像文件,用来测试网络或文件系统。 你需要使用下面命令: fallocate - 预分配空白文件; truncate - 缩小或扩展文件的大小; dd - 转换和复制文件,例如 克隆、新建、覆盖 镜像; df - 查看磁盘空间; du - 统计磁盘使用情况; ls - 列出文件大小; fallocate 命令语法 基本语法是: fallocate -l Image_Size_Here /path/to/image.img 使用 fallocate 命令在 Linux 上创建大文件 用下面命令创建 1GB 文件: fallocate -l 1G test.img 使用 ls 命令查看文件大小: $ ls -lh test.img 示例输出: -rw-r--r--. 1 root root 1.0G Nov 27 03:42 test.img 你可以使用 stat 或 du 命令查看块分配信息: stat test.img File: `test.img' Size: 1073741824 Blocks: 2097160 IO Block: 4096 regular file Device: 805h/2053d

Java 14 新特性

混江龙づ霸主 提交于 2020-03-25 22:25:12
3 月,跳不动了?>>> 01、下载 JDK 14 要想开箱,得先下载 JDK 14,不然拿什么开箱呢,对吧?有 2 处地方可供下载,Oracle 上可以下载商用版, jdk.java.net 上可以下载开源版。我们就选择后者吧。 我目前用的是 Windows 操作系统,所以就选择 Windows 版的 zip 包进行下载,完成后记得解压。 02、升级 IntelliJ IDEA 需要把 IDEA 升级到抢先体验版 2020.1 EAP,否则无法支持 Java 14 的新特性。 社区版的下载地址如下所示: https://www.jetbrains.com/idea/nextversion/ 安装的时候可以把之前的版本卸载,也可以选择保留。完成后,我们来新建一个 Java 14 的项目。 01、instanceof 按照新特性的顺序,我们就先从 instanceof 说起吧。旧式的 instanceof 的用法如下所示: public class OldInstanceOf { public static void main(String[] args) { Object str = "Java 14,真香"; if (str instanceof String) { String s = (String)str; System.out.println(s.length()); }

新特性解读 | 8.0 新增 DML 语句(TABLE & VALUES)

醉酒当歌 提交于 2020-03-25 16:39:39
3 月,跳不动了?>>> 作者:杨涛涛 资深数据库专家,专研 MySQL 十余年。擅长 MySQL、PostgreSQL、MongoDB 等开源数据库相关的备份恢复、SQL 调优、监控运维、高可用架构设计等。目前任职于爱可生,为各大运营商及银行金融企业提供 MySQL 相关技术支持、MySQL 相关课程培训等工作。 本文来源:原创投稿 *爱可生开源社区出品,原创内容未经授权不得随意使用,转载请联系小编并注明来源。 背景 MySQL 8.0.19 release 发布了两条新的 DML 语句。一条 TABLE 语句,一条 VALUES 语句。这里不要把这两条语句混淆了。 TABLE 不是广义的表,而仅仅是一条语句,应用于需要全表扫描的场景。 还有 VALUES 语句也不要混淆为 INSERT...VALUES...这样的传统插入语句。VALUES 是一个全新的模拟记录集的语句,类似于其他数据库比如 PGSQL 的 ROW 语句。 一、应用场景 TABLE 语句 具体用在小表的全表扫描,比如路由表、配置类表、简单的映射表等。 用来替换是被当做子查询的这类小表的 SELECT 语句。 VALUES 语句 VALUES 类似于其他数据库的 ROW 语句,造数据时非常有用。 二、语法使用 那现在针对这两类 DML 语句,结合实际例子说明下其具体用途。 2.1 TABLE 语句 具体语法:

Java14来了!Switch竟如此简单?Lombok也不需要了?来用Idea搭建Java14吧!

放肆的年华 提交于 2020-03-22 18:19:23
3 月,跳不动了?>>> Java 14 在 2020.3.17 日发布正式版了,但现在很多公司还在使用 Java 7 或 Java 8,每当看到 Java 又发布新版本心里就慌得一匹。不过此版本并不是 LTS (长期支持版) 版本,所以不要慌,我们先来了解一下好了,等 LTS 版本发布后再用也不迟。 版本说明 现在 Java 的发布节奏是每年发布两个 GA (General Availability,正式发布版),每 6 个月发布一版,发布月份为 3 月和 9月。 Oracle 只对 LTS 版本提供付费支持,其中包括 Java 8 和 Java 11,Java 11 的付费支持会持续到 2026 年,每 3 年发布一个 LTS 版,下一个 LTS 版本将是 Java 17。 Java 版本的快速更新,一定程度上是为了迎合了开发者和现在技术发展的潮流,同时也利于 Java 版本的交付,把大版本拆成小版本,起码不会出现大的延期了。 Java 14 新特性 此版本包含的 JEP (Java/JDK Enhancement Proposals,JDK 增强提案) 比 Java 12 和 Java 13 加起来都多,总共 16 个新特性。 305: instanceof 的模式匹配 (预览) 343: 打包工具 (Incubator) 345: G1 的 NUMA 内存分配优化 349:

Winforms平台界面开发技巧,如何快速掌握Filter Editor(一)

a 夏天 提交于 2020-03-13 13:45:59
下载DevExpress v19.2完整版 DevExpress Winforms Controls 内置140多个UI控件和库,完美构建流畅、美观且易于使用的应用程序。想要体验? 点击下载>> DevExpress WinForms安装附带两个允许最终用户构建过滤器查询的控件:提供GUI的Filter控件和将Filter控件与基于文本输入的面板组合在一起的Filter Editor控件。WinForms中,大多数数据感知控件都使用这些组件,但是您也可以将其包含在自己的表单中,并根据需要将其绑定到数据感知控件中。 为了说明这一点,下面是带有Filter Editor的数据网格,用户可以单击过滤器面板中的Edit Filter按钮来调出Filter Editor,并且由于属性DefaultFilterEditorView设置为TextAndVisual,因此可以看到Filter Editor Control的文本面板。 在下图中,您可以看到两个控件中可用的一些标准功能,包括“小于或等于”,“大于或等于”,“今天”,“昨天”以及许多其他功能。Filter控件和Filter Editor控件均提供多种功能供您选择,可用功能集因要为其构建表达式的数据字段的类型而异。 自定义函数 在某些情况下,标准函数集还不够。技术团队在处理大量技术支持问题发现,查找是最常见需要的自定义函数

技术干货分享 | Kafka重复消费场景及解决方案

有些话、适合烂在心里 提交于 2020-03-12 18:46:18
Kafka消费者以消费者组(Consumer Group)的形式消费一个topic,发布到topic中的每个记录将传递到每个订阅消费者者组中的一个消费者实例。Consumer Group 之间彼此独立,互不影响,它们能够订阅相同的一组主题而互不干涉。生产环境中消费者在消费消息的时候若不考虑消费者的相关特性可能会出现重复消费的问题。 在讨论重复消费之前,首先来看一下kafka中跟消费者有关的几个重要配置参数。 enable.auto.commit默认值true,表示消费者会周期性自动提交消费的offset auto.commit.interval.ms在enable.auto.commit为true的情况下, 自动提交的间隔,默认值5000ms max.poll.records 单次消费者拉取的最大数据条数,默认值 500 max.poll.interval.ms默认值5分钟,表示若5分钟之内消费者没有消费完上一次poll的消息,那么consumer会主动发起离开group的请求 在常见的使用场景下,我们的消费者配置比较简单,特别是集成Spring组件进行消息的消费,通常情况下我们仅需通过一个注解就可以实现消息的消费。例如如下代码: 这段代码中我们配置了一个kafka消费注解,制定消费名为"test1"的topic,这个消费者属于"group1"消费组

​零基础入门深度学习(九):目标检测之常用数据预处理与增广方法

こ雲淡風輕ζ 提交于 2020-02-27 21:11:28
课程名称 | 零基础入门深度学习 授课讲师 | 孙高峰 百度深度学习技术平台部资深研发工程师 授课时间 | 每周二、周四晚20:00-21:00 01 导读 本课程是百度官方开设的零基础入门深度学习课程,主要面向没有深度学习技术基础或者基础薄弱的同学,帮助大家在深度学习领域实现从0到1+的跨越。从本课程中,你将学习到: 深度学习基础知识 numpy实现神经网络构建和梯度下降算法 计算机视觉领域主要方向的原理、实践 自然语言处理领域主要方向的原理、实践 个性化推荐算法的原理、实践 百度深度学习技术平台部资深研发工程师孙高峰,上一讲为大家介绍了目标检测的基本概念,本讲将以林业病虫害数据集为例,继续为大家介绍目标检测中的常用数据预处理与增广方法 02 林业病虫害数据集和数据预处理方法介绍 在本次的课程中,将使用百度与林业大学合作开发的林业病虫害防治项目中用到昆虫数据集,关于该项目和数据集的更多信息,可以参考 相关报道 。在这一小节中将为读者介绍该数据集,以及计算机视觉任务中常用的数据预处理方法。 读取AI识虫数据集标注信息 AI识虫数据集结构如下: 提供了2183张图片,其中训练集1693张,验证集245,测试集245张。 包含7种昆虫,分别是Boerner、Leconte、Linnaeus、acuminatus、armandi、coleoptera和linnaeus。 包含了图片和标注