首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

使用VBA删除工作多列重复

标签:VBA 自Excel 2010发布以来,已经具备删除工作重复功能,如下图1所示,即功能区“数据”选项卡“数据工具——删除重复值”。...图1 使用VBA,可以自动执行这样操作,删除工作所有数据列重复,或者指定列重复。 下面的Excel VBA代码,用于删除特定工作所有列所有重复。...如果没有标题,则删除代码后面的部分。...如果只想删除指定列(例如第1、2、3列)重复,那么可以使用下面的代码: Sub DeDupeColSpecific() Cells.RemoveDuplicates Columns:=Array...(1, 2, 3), Header:=xlYes End Sub 可以修改代码中代表列数字,以删除你想要重复

11.1K30
您找到你想要的搜索结果了吗?
是的
没有找到

【知识】MySQL索引原理及慢查询优化

/ 数据大小,磁盘块大小也就是一个数据页大小,是固定,如果数据空间越小,数据数量越多,树高度越低。...如果没有创建PRIMARY KEY索引具有一个或多个UNIQUE索引,则MySQL将删除第一个UNIQUE索引。 如果删除了某列,则索引会受到影响。...对于多列组合索引,如果删除其中某列,则该列也会索引删除。如果删除组成索引所有列,则整个索引将被删除。...如果对字段a建立单列索引,对b建立单列索引,那么在查询时,只能选择走索引a,查询所有a=1主键id,然后进行回,在回过程,在聚集索引读取每一数据,然后过滤出b = 2结果集,或者走索引b...如果对a,b建立了联合索引(a,b),那么在查询时,直接在联合索引先查到a=1节点,然后根据b=2继续往下查,查出符合条件结果集,进行回

98930

MySQL 三万字精华总结 + 面试100 问,吊打面试官绰绰有余(收藏系列)

磁盘块大小 / 数据大小,磁盘块大小也就是一个数据页大小,是固定,如果数据空间越小,数据数量越多,树高度越低。...就是select数据列只用索引中就能够取得,不必读取数据,MySQL可以利用索引返回select列表字段,而不必根据索引再次读取数据文件,换句话说查询列要被所建索引覆盖。...(也就是说虽然all和index都是读全index是索引读取,而all是硬盘) ALL:Full Table Scan,将遍历全找到匹配 possible_keys(显示可能应用在这张索引...哪些列或常量被用于查找索引列上值) rows(根据统计信息及索引选用情况,大致估算找到所需记录所需要读取行数) Extra(包含不适合在其他列显示十分重要额外信息) using filesort...所以,在我们删除数据库百万级别数据时候,查询MySQL官方手册得知删除数据速度和创建索引数量是成正比

2.3K40

MySQL 三万字精华总结 + 面试100 问,吊打面试官绰绰有余(收藏系列)

磁盘块大小 / 数据大小,磁盘块大小也就是一个数据页大小,是固定,如果数据空间越小,数据数量越多,树高度越低。...就是select数据列只用索引中就能够取得,不必读取数据,MySQL可以利用索引返回select列表字段,而不必根据索引再次读取数据文件,换句话说查询列要被所建索引覆盖。...(也就是说虽然all和index都是读全index是索引读取,而all是硬盘) ALL:Full Table Scan,将遍历全找到匹配 possible_keys(显示可能应用在这张索引...哪些列或常量被用于查找索引列上值) rows(根据统计信息及索引选用情况,大致估算找到所需记录所需要读取行数) Extra(包含不适合在其他列显示十分重要额外信息) using filesort...所以,在我们删除数据库百万级别数据时候,查询MySQL官方手册得知删除数据速度和创建索引数量是成正比

32431

MySQL 三万字精华总结 + 面试100 问,吊打面试官绰绰有余

磁盘块大小 / 数据大小,磁盘块大小也就是一个数据页大小,是固定,如果数据空间越小,数据数量越多,树高度越低。...就是select数据列只用索引中就能够取得,不必读取数据,MySQL可以利用索引返回select列表字段,而不必根据索引再次读取数据文件,换句话说查询列要被所建索引覆盖。...(也就是说虽然all和index都是读全index是索引读取,而all是硬盘) ALL:Full Table Scan,将遍历全找到匹配 possible_keys(显示可能应用在这张索引...哪些列或常量被用于查找索引列上值) rows(根据统计信息及索引选用情况,大致估算找到所需记录所需要读取行数) Extra(包含不适合在其他列显示十分重要额外信息) using filesort...所以,在我们删除数据库百万级别数据时候,查询MySQL官方手册得知删除数据速度和创建索引数量是成正比

37750

MySQL 三万字精华总结 + 面试100 问,吊打面试官绰绰有余(收藏系列)

磁盘块大小 / 数据大小,磁盘块大小也就是一个数据页大小,是固定,如果数据空间越小,数据数量越多,树高度越低。...就是select数据列只用索引中就能够取得,不必读取数据,MySQL可以利用索引返回select列表字段,而不必根据索引再次读取数据文件,换句话说查询列要被所建索引覆盖。...(也就是说虽然all和index都是读全index是索引读取,而all是硬盘) ALL:Full Table Scan,将遍历全找到匹配 possible_keys(显示可能应用在这张索引...哪些列或常量被用于查找索引列上值) rows(根据统计信息及索引选用情况,大致估算找到所需记录所需要读取行数) Extra(包含不适合在其他列显示十分重要额外信息) using filesort...所以,在我们删除数据库百万级别数据时候,查询MySQL官方手册得知删除数据速度和创建索引数量是成正比

35941

第06章_索引数据结构

这种情况下,最好办法是先删除索引,然后插入数据,插入完成后再创建索引。 # 3....在没有索引情况下,不论是根据主键列或者其他列值进行查找,由于我们并不能快速定位到记录所在页,所以只能 第一个页沿着双向链表 一直往下找,在每一个页根据我们上面的查找方式去查 找指定记录。...使用聚簇索引时候,数据 查询效率高 ,如果对数据进行插入,删除,更新等操作,效率会比非聚簇索引低。 # 3....还拿 index_demo 为例,假设这个数据是这样: 如果二级索引目录记录内容只是 索引列 + 页号 搭配的话,那么为 c2 列简历索引 B + 树应该长这样: 如果我们想新插入一记录...小结两种引擎索引区别: ① 在 InnoDB 存储引擎,我们只需要根据主键值对 聚簇索引 进行一次查找就能找到对应记录,而在 MyISAM 却需要进行一次 回 操作,意味着 MyISAM 建立索引相当于全部都是

16020

MySQL InnoDB索引介绍及优化

左边全扫描:需要从第一开始一扫描,直到找到100008Dev这个学生信息为止,将这个数据返回回来,但有可能该还有同名学生,因此扫描并没有结束,通常全扫描要找到一个数据,是需要将整张数据遍历一遍...,而我们把这些根据其他字段排序索引称为二级索引(secondery class) 四、在数据库如何建立索引 在MySQL主要建立两种类型索引 1.单列索引 create index idx_name...这是一个关乎性能重要概念 如果索引所在字段发生了修改、删除、插入等操作,那么索引就会发生变化,因此如果不能保证索引有序,那么就不能索引准确与效率,而索引排序发生了变化这个行为,我们称为索引维护...在insert/delete/update操作时,为了维护索引排序,数据库会自动完成索引维护,索引排序,这些行为对用户是透明,感觉不到 在一个有索引,创建它时,实际上还同时创建了索引排序...,因此在DML,插入等操作不再是普通插入,MySQL将它封装成了一个事务,连着索引排序一起操作 因此,我们应当严格控制表上索引数量,否则容易影响数据库性能 总结索引维护如下: 1、索引维护由数据库自动完成

96310

MySQL相关问题整理

为了解决上述问题,数据库通过锁机制解决并发访问问题。 根据锁定对象不同:分为级锁和级锁; 根据并发事务锁定关系上看:分为共享锁定和独占锁定,共享锁定会防止独占锁定允许其他共享锁定。...五、B+树性质 索引字段要尽量小 通过上面的分析,我们知道IO次数取决于b+数高度h,假设当前数据数据为N,每个磁盘块数据数量是m,则有h=㏒(m+1)N,当数据量N一定情况下,m越大,...h越小;而m = 磁盘块大小 / 数据大小,磁盘块大小也就是一个数据页大小,是固定,如果数据空间越小,数据数量越多,树高度越低。...非聚簇索引比聚簇索引多了一次读取数据IO操作,所以查找性能上会差。 覆盖索引 指一个查询语句执行只用索引中就能够取得,不必从数据读取。也可以称之为实现了索引覆盖。...Delete性能上Innodb更优,delete from table时,InnoDB不会重新建立,而是一删除,在innodb上如果要清空保存有大量数据,最好使用truncate table

55340

Mysql数据库优化

一是不支持索引和分区,二是中所有字段必须含有NOT NULL属性。 6. ARCHIVE存储引擎 ARCHIVE存储引擎:适合保存数量庞大、长期维护很少被访问数据。...2.索引 1. 索引概述 索引:是一种特殊数据结构,可以看做是利用MySQL提供语法将数据某个或某些字段与记录位置建立一一个对应关系,并按照一定顺序排序好。...,默认1开始 Column_name 建立索引字段 Collation 索引字段是否有排序,A表示排序,NULL表示没有排序 Cardinality 计算MySQL连接时使用索引可能性(精确度不高...#HASH或KEY分区 ALTER TABLE数据名称PARTITIONS 数量; #删除HASH、KEY分区 ALTER TABLE数据名称COALESCE PARTITION数量; #删除RANGE...长期删除数据、添加数据过程索引文件和数据文件都将产生“空洞”,形成很多不连续碎片,造成数据占用空间变大,记录数却很少情况发生。

2.4K20

MySQL查询优化-基于EXPLAIN

仅使用索引信息就能获取查询语句信息, 而不必进行其他额外查找(seek)去读取实际记录。当查询列是单个索引部分列时, 可以使用此策略。...对于具有用户定义聚集索引 InnoDB , 即使Extra列没有使用索引, 也可以使用该索引。...二、优化经验 要对经常进行搜索,排序,分组列创建索引。 考虑列基数(同一个列不重复数量),列基数越大,效果越好,即区分度越高。...如果没有创建 PRIMARY KEY 索引具有一个或多个 UNIQUE 索引,则 MySQL 将删除第一个 UNIQUE 索引。 如果删除了某列,则索引会受到影响。...对于多列组合索引,如果删除其中某列,则该列也会索引删除。如果删除组成索引所有列,则整个索引将被删除

1.6K20

Pandas 25 式

~ 按 用多个文件建立 DataFrame ~ 按列 剪贴板创建 DataFrame 把 DataFrame 分割为两个随机子集 根据多个类别筛选 DataFrame 根据最大类别筛选 DataFrame...如果想让索引 0 到 1,用 reset_index()方法,并用 drop 关键字去掉原有索引。 ? 这样,序就已经反转过来了,索引也重置为默认索引。 5....根据最大类别筛选 DataFrame 筛选电影类别里(genre)数量最多三类电影。...用 dropna() 删除列里所有缺失值。 ? 只想删除缺失值高于 10% 缺失值,可以设置 dropna() 里阈值,即 threshold. ? 16....要解决这个问题得用 transform() 方法,这个方法执行同样计算,返回与原始数据行数一样输出结果,本例为 4622 。 ?

8.4K00

SQL常见面试题总结

-- 右连接 右外连接包含right join右所有,如果左某行在右没有匹配,则结果对应左部分全部为空(NULL)。...当对表数据进行增加、删除和修改时候,索引也要动态维护,降低了数据维护速度 如何提高MySql安全性 避免互联网访问MySQL数据库,确保特定主机才拥有访问特权 定期备份数据库 任何系统都有可能发生灾难...服务器、MySQL也会崩溃,也有可能遭受入侵,数据有可能被删除。只有为最糟糕情况做好了充分准备,才能够在事后快速地灾难恢复。企业最好把备份过程作为服务器日常工作。...索引主要针对查询,索引可以加快查询效率,例如我们建立索引时尽量在where,orderBy这样条件需要字段加索引,因为查询时根据条件查询,条件上加了索引,可以快速定位到需要查询数据。...还有一个除了索引可以优化点,innoDB它相比于MyISAM他是支持级锁,但是有时候我们在操作时候会有一些误操作,使得级锁上升到级锁,就比如我们根据一个字段做条件去更新本行数据时,当前字段没有建立索引

2.3K30

MySQL索引原理以及查询优化「建议收藏」

索引对于良好性能 非常关键,尤其是当数据量越来越大时,索引对于性能影响愈发重要。 索引优化应该是对查询性能优化最有效手段了。索引能够轻易将查询性能提高好几个数量级。...###b+树性质 1.索引字段要尽量小:通过上面的分析,我们知道IO次数取决于b+数高度h,假设当前数据数据为N,每个磁盘块数据数量是m,则有h=㏒(m+1)N,当数据量N一定情况下,m...在已经有大量数据情况下,建索引会很慢,且占用硬盘空间,插入删除更新都很慢,只有查询快 比如create index idx on s1(id);会扫描中所有的数据,然后以id为数据,创建索引结构...) = ’2014-05-29’ 就不能使用到索引,原因很简单,b+树都是数据字段值, 进行检索时,需要把所有元素都应用函数才能比较,显然成本太大。...这句话意思是把查询语句where都应用到返回记录数最小开始查起,单每个字段分别查询,看哪个字段区分度最高 2.explain查看执行计划,是否与1预期一致(锁定记录较少开始查询)

43730

MySQL索引原理以及查询优化

索引对于良好性能 非常关键,尤其是当数据量越来越大时,索引对于性能影响愈发重要。 索引优化应该是对查询性能优化最有效手段了。索引能够轻易将查询性能提高好几个数量级。...###b+树性质 1.索引字段要尽量小:通过上面的分析,我们知道IO次数取决于b+数高度h,假设当前数据数据为N,每个磁盘块数据数量是m,则有h=㏒(m+1)N,当数据量N一定情况下,m...在已经有大量数据情况下,建索引会很慢,且占用硬盘空间,插入删除更新都很慢,只有查询快 比如create index idx on s1(id);会扫描中所有的数据,然后以id为数据,创建索引结构...) = ’2014-05-29’ 就不能使用到索引,原因很简单,b+树都是数据字段值, 进行检索时,需要把所有元素都应用函数才能比较,显然成本太大。...这句话意思是把查询语句where都应用到返回记录数最小开始查起,单每个字段分别查询,看哪个字段区分度最高 2.explain查看执行计划,是否与1预期一致(锁定记录较少开始查询)

1K40

【MySQL】索引啊 d=====( ̄▽ ̄*)b

[TOC] 为什么需要索引 根据上面索引定义,可以知道索引其实是一种数据结构,主要用于提高查询效率,除此之外,索引还是数据库随机高速读取和对记录进行有效排序基础。...一是磁头磁盘读取到数据并存储到磁盘缓存所需要时间,二是磁盘缓存读取数据到对应控制器所需时间;数据传输耗时主要与硬件性能有关,一般为零点几毫秒。...,再根据指针查询记录,得到记录后再与要查询记录作比较,如果得到不是要查询记录,要回去取链表下一个指针,再去查询比较,直到得到期望数据,因此使用哈希索引磁盘IO次数取决于冲突发生率,...: 直接删除: DROP index_name ON table_name; 通过修改结构删除 ALTER TABLE table_name DROP index_name; 索引建立原则 天下没有免费午餐...): 可以查询建立了聚合索引某几列,DBS会根据建立索引顺序左开始匹配能够使用索引列,如执行a = “” AND b = “” 时会对 a 和 b 使用索引,而在执行 a = “” AND

1K30

MySQL数据库之索引

1 引言   在没有索引情况下,如果要寻找特定,数据库可能要遍历整个数据库,使用索引后,数据库可以根据索引找出这一,极大提高查询效率。本文是对MySQL数据库索引使用总结。...普通索引是MySQL基本索引类型,允许在定义索引插入重复值和空值。   唯一索引索引值必须唯一,允许空值。如果是组合索引,则列值组合必须唯一。...主键索引是一种特殊唯一索引,不允许有空值。   (2)单列索引和组合索引   事实上,单列索引和组合索引划分是根据创建索引时所引用数量来划分。   ...单列索引是只一个索引只包含单个列,一个可以有多个单列索引。   组合索引指在多个字段组合上创建索引只有在查询条件中使用了这些字段左边字段时,索引才会被使用。   ...7 总结         本文索引概念入手,简单介绍了索引特点和分类,并通过实例对创建和删除索引进行说明。索引是个好东西,但却并非多多益善,这一点在索引设计原则中有说到。

1.6K20

精选MySQL面试题(附刷题小程序)

不可回滚 删除内容 结构还在,删除全部或者一部分数据 结构还在,删除所有数据 数据库删除,所有的数据索引和权限也会被删除 删除速度 删除速度慢,需要逐行删除 删除速度快 删除速度最快...(磁盘取数据是最影响性能) join对join语句匹配关系(on)涉及字段建立索引能够提高效率 索引覆盖如果要查询字段都建立索引,那么引擎会直接在索引查询而不会访问原始数据(否则只要有一个字段没有建立索引就会做全扫描...所以,在我们删除数据库百万级别数据时候,查询MySQL官方手册得知删除数据速度和创建索引数量是成正比。...InnoDB 锁是通过给索引索引加锁来实现,这一点 MySQL 与 Oracle 不同,Oracle是通过在数据块对相应数据加锁来实现。...然 而,如果在编译时建立访问计划,变量值还是未知,因而无法作为索引选择输入

70930
领券