删除索引Oracle与MySQL删除字段

2019年05月15日 来源:

1 : Oracle与MySQL删除字段时对索引和束缚的处理

不知道有多少人清楚的知道,在Oracle中,如果1个复合索引,假定索引(a,b,c)3个字段,删除(包括unused)其中1个字段,Oracle会怎样处理这个索引。一样,如果是束缚,Oracle又怎样处理?

用Oracle为例子,我又拿mysql做了1个对照,看看mysql是怎样处理这个问题的。我这里不讨论谁好谁差,只是希望大家知道其中的差别与细节而已。

我们先看Oracle的例子,我们创建1个表,然后在上面创建1个束缚,创建1个索引:

以下为援引的内容:

SQL10Gcreatetabletest(aint,bint,cint);

Tablecreated.

SQL10Galtertabletestaddconstraintpk_testprimarykey(a,b);

Tablealtered.

SQL10Gcreateindexind_testontest(b,c);

Indexcreated.

然后,我们检查刚才创建的束缚与索引

以下为援引的内容:

nstraint_name,nstraint_type,lumn_name,sition,atus,lidated

2fromuser_cons_columnst,user_constraintsc

nstraint_name=nstraint_name

nstraint_type!='C'

ble_name='TEST'

6orderbyconstraint_name,position;

CONSTRAINT_NAMECCOLUMN_NAMEPOSITIONSTATUSVALIDATED

------------------------------------------------------------

PK_TESTPA1ENABLEDVALIDATED

PK_TESTPB2ENABLEDVALIDATED

dex_name,lumn_name,lumn_position,atus

2fromuser_ind_columnst,user_indexesi

dex_name=dex_name

ble_name='TEST'

5*orderbyindex_name,column_position

INDEX_NAMECOLUMN_NAMECOLUMN_POSITIONSTATUS

-------------------------------------------------

IND_TESTB1VALID

IND_TESTC2VALID

现在,我们先删除索引上的字段,其实并没有物理删除,只是设置为unused:

SQL10GALTERTABLEtestSETUNUSED(c);

Tablealtered.

dex_name,lumn_name,lumn_position,atus

2fromuser_ind_columnst,user_indexesi

dex_name=dex_name

ble_name='TEST'

5orderbyindex_name,column_position;

norowsselected

发现了什么,索引也删除。那我们再删除束缚上的字段呢?

以下为援用的内容:

SQL10GALTERTABLEtestSETUNUSED(b);

ALTERTABLEtestSETUNUSED(b)

*

ERRORatline1:

ORA⑴2991:columnisreferencedinamulti-columnconstraint

SQL10GALTERTABLEtestSETUNUSED(b)CASCADECONSTRAINTS;

Tablealtered.

nstraint_name,nstraint_type,lumn_name,sition,atus,lidated

2fromuser_cons_columnst,user_constraintsc

nstraint_name=nstraint_name

nstraint_type!='C'

ble_name='TEST'

6orderbyconstraint_name,position;

norowsselected

我们可以看到,正常的删除会报1个毛病,如果我们指定了cascade,将会把对应的束缚也删除。

我们看完了Oracle的处理进程,再看看mysql是这么处理删除索引上字段这个事情的

以下为援引的内容:

mysqlcreatetabletest(aint,bint,cint);

QueryOK,0rowsaffected(0.72sec)

mysqlaltertabletestaddprimarykey(a,b);

QueryOK,0rowsaffected(0.27sec)

Records:0Duplicates:0Warnings:0

mysqlcreateindexind_testontest(b,c);

QueryOK,0rowsaffected(0.32sec)

Records:0Duplicates:0Warnings:0

我们履行一样的操作,先删除复合索引中的1个字段,然后删除束缚中的1个字段。

以下为援引的内容:

mysqlaltertabletestdropc;

QueryOK,0rowsaffected(0.58sec)

Records:0Duplicates:0Warnings:0

mysqlshowindexfromtest;

+-------+------------+----------+--------------+-------------+-----------+

Table|Non_unique|Key_name|Seq_in_index|Column_name|Collation

+-------+------------+----------+--------------+-------------+-----------+

test|0|PRIMARY|1|a|A

test|0|PRIMARY|2|b|A

test|1|ind_test|1|b|A

+-------+------------+----------+--------------+-------------+-----------+

3rowsinset(0.06sec)

mysqlaltertabletestdropb;

QueryOK,0rowsaffected(0.28sec)

Records:0Duplicates:0Warnings:0

mysqlshowindexfromtest;

+-------+------------+----------+--------------+-------------+-----------+

Table|Non_unique|Key_name|Seq_in_index|Column_name|Collation

+-------+------------+----------+--------------+-------------+-----------+

test|0|PRIMARY|1|a|A

+-------+------------+----------+--------------+-------------+-----------+

1rowinset(0.03sec)

可以看到,mysql的处理方式是有差别的,mysql仅仅是把字段从索引中拿掉,而不是删除该索引。

本文的意思,就是想提示大家,平常在做columns删除的时候,包括unused,1定要谨慎,是否是有复合索引包括了该字段,否则,1不谨慎把索引删除,可能将引发大的毛病。

2 : Google删除站索引浅析

在公司保护1些英文站,主要是平常1些SEO方面的工作,如增加链接,做1些关键词等,但自从2009年3月份以后,站常常被挂满了隐藏链接,这是典型的黑客侵入了站系统,可能已加了后门,从那以后,首页常常被加入隐藏链接,虽然1直被覆盖,但1两天以后,首页又被重新加上了隐藏链接。但对这件事,我也只是敷衍了事,检查日志文件看不出甚么眉目,也就没当回事,想就只是加几个链接而已,也没有什么大不了的。

6月109日,凌晨检查站,看到站访问量大减,心中觉得奇怪,看1下访问者都是从Yahoo! 和 Bing 进来的,就是没有从Google 进来的,看1下 Google 管理员工具看到 Google 早在107日就已发邮件过来通知我,站由于添加隐藏文本而被删除,吓了1跳,因此下载了全部站,找到了黑客后门,删除掉,修改页面,重新提交审核,两天以后,也就是2101号清晨发现站已被重新收录,而且排名位置基本没变。

从中,有几个问题比较值得注意,从107日Google 发邮件通知删除索引,但那1天还是有从 Google来的流量,到109日就完全没有从Google来的流量了,导致访问量变化非常明显,那就是说即使 Google 搜索质量小组发邮件来讲已删除索引了,但实际上索引并未完全删除,还是有流量从Google 过来的,而且两天后,Google 重新收录站,排名基本都没变,索引页面数也和之前比没有变化多少,但特别值得注意的1点是,居然发现首页的 Google 快照是 6月108日, 这1发现确切是挺让人震动的,那也就是说,Google spider 在删除索引以后,还是来抓取页面的。

在109日删除索引后,全部站在Google是搜索不到的,后来重新收录,看到大部分的页面的快照还是在107日之前的,认真分析1下的话,会想说,索引真的是完全被 Google 从索引数据库中抹除吗,恐怕未必,否则快照日期不会是在删除之前的日期,而应当是审核通太重新抓取的日期。

在此,大胆提出1个料想,Google 搜索引擎的算法没人知道,但有1些痕迹是可以料想的,我想:Google 是否是采取这样的1种策略,专门有服务器寄存被惩罚的或是被删除的站,就像google sandbox 1样,乃至被删除索引的页的处理方法就是 google sandbox 的另外一种表现,当1个站被删除索引时,索引全部移动到这样的1个服务器中,在正常排名的索引中不再会有这些站存在了,但蜘蛛还是会访问这些被屏蔽的站的,可以通过快照日期能够看出来,不然的话,通过服务器的日志文件也能看出来,1旦站被重新审核通过,从这样的1个服务器中移动到正常索引中,时间会很短,这也是为什么1旦审核通过,收录页面数量会从0回来之前的水平,如果是重新收录的话,不应当会有这么快的收录速度。

只是把自己发现的1些问题提出来,希望朋友们提出自己的看法,和我1起交换。

3 : 申请从谷歌的索引中删除内容

(译者注: 本文讲述了如何申请从谷歌的索引中删除内容,包括你自己具有的内容及其他你所不具有但是包括特殊信息的内容,如不健康内容或你的个人信息)

作为站具有者,站的什么内容被搜索引擎索引,你完全可以控制。当你想让搜索引擎知道甚么样的内容您不希望它们索引时,最简单的方法是使用t文件或robots元标记。但有时候,你想要删除已被索引的内容。有甚么最好的方法来做到这1点呢?

同以往1样,我们的回答总是这样开始:这取决于你想要删除的内容的类型。我们的络管理员帮助中心提供了每种情况的详细资料。每当我们重新爬行该页, 我们就会从我们的索引中自动移去你要删除的内容。但如果你想更快地删除你的内容,而不是等待下1次的爬行,我们刚刚有了1些方法使做到这1点变得更加容易。

如果你的站已通过了站管理员工具帐号的站具有者验证,你就会看到在工具下有1个删除址链接。要想删除,你可以点击删除址链接,然后再点击新增删除要求。请选择你想要的删除类型。

单个址

如果你想移除1个URL或图像,请选择此项。1个可以删除的URL必须符合以下条件之1:

* 该URL必须返回1个404或410的状态码。

* 该URL必须被该站的t文件所阻截。

* 该URL必须被robots元标记所阻截。

如果1个URL可以被删除,你输入该URL,看看它是不是出现在我们的页搜索结果或图像搜索结果里。然后点击添加。您可以1次添加多达100个URL的要求。当你添加完所有你想删除的URL后,点击提交删除要求。

单个目录

如果你想删除你站点的1个目录下的所有文件和子目录,请选择此选项。例如,如果你要求删除以下内容:

这将删除所有以该路径为开头的URL,比方:

为了使目录可以被清除,你必须用t文件来阻截搜索引擎。例如,上面的例子中, 可以包括以下内容:

User-agent: Googlebot

Disallow: /myfolder

你的全部站

只有当你想从Google索引删除你的全部站时,才选择此选项。此选项将删除所有子目录及文件。对你站的被索引的URL中你不喜欢的版本,请不要使用此选项来删除。举例来讲,如果你想你的全部URL只有www的版本才被索引,请不要使用这1选项来要求删除非www的版本。你可使用设置首选域名工具来指定你希望被索引的版本(如果可能的话,做1个301重定向到你喜欢的版本)。使用此选项,你必须使用t文件拦截或删除全部站。

缓存副本

要删除你的页在我们索引中的缓存副本(又称页快照--译者注),请选择此项。你有两种方法来使你的页面符合删除页面缓存的条件。

使用noarchive元标记来要求快速删除

如果你根本不想让你的页面被缓存,你可以在该页面上加1个noarchive元标记,然后再在工具中要求快速删除缓存副本。通过使用工具来要求删除缓存副本,我们会立刻实行。由于添加了noarchive元标记,我们将永久不会有该页的缓存版本。 (固然,如果你以后改变主张,你可以去掉noarchive元标记)。

改变页内容

如果你的某1页面已被删除,你也不想让它的缓存版本存在于Google的索引中,你可以在工具里要求删除缓存。我们会先检查1下该页的现有内容是不是真的有别于缓存版本。如果是,我们就会清除缓存版本。我们会在6个月后自动显示最新的缓存页面版本(6个月后,我们可能已又爬行过你的页面,缓存版本会反应最新的内容),或,如果你发现我们早于6个月重新爬行了你的页面,你可以用工具要求我们早1点重新包括缓存版本。

注:相干站建设技能浏览请移步到建站教程频道。

查阅删除要求状态

你的删除要求状态将是等待中(Pengding),直到他们被处理。处理后的状态变化,要末是被拒了(Denied)或是删除。1般来说,如果被谢绝,它1定是不满足被删除的条件。

要求内容的重新收录

如果要求是成功的,它就会出现在删掉的内容栏里。你可以随时重新收录你的页,只要删掉t中的相干内容或相干页上的robots元标记,然后点击Reinclude。删除内容的有效期是6个月。6个月后,如果我们重新爬行页时页内容依然是被阻截的或返回1个404或410状态信息,它就不会被重新索引。不过,如果6个月后该页面可以被我们的抓取工具抓取,我们将再次把它列入我们的索引。

要求删除不是你具有的内容

如果您想要求删除的内容在不属于你的站上,怎样办呢?现在做到这1点更容易了。我们的新的页删除要求工具逐渐和你完成每一个类型的删除进程。

由于Google仅仅索引页,其实不能控制页的内容,我们通常不能从我们的索引中随便删除1些结果,除非络管理员阻截Google、修改了内容或删除页面。如果您想删除某些内容,你可以和站所有者进行1下沟通,然后用此工具来加速从我们的搜索结果删除。

但是,如果您发现搜索结果中包括特定类型的个人信息,你可以要求删除,即便你不能和站所有者沟通。对这类类型的删除,请提供您的电子邮件地址,以便我们能够与您直接沟通。

当启动健康内容搜索时,如果您发现1些搜索结果中有不健康的内容,你也能够使用工具通知我们。

你可以查阅等候中要求的状态。在当前站管理员工具的版本中,1旦要求被处理,要求状态将会变成已删除或谢绝。1般来讲,如果被谢绝,它1定是不满足被删除的条件。对触及个人信息的要求,您看不到任何状态,但是你会收到1封电子邮件来要求你为以后的步骤提供更多的资料。

老的URL删除工具中的要求会有什么样的结果呢?

如果您已用老的URL删除工具提交了删除要求,你依然可以登录来查阅这些要求的状态。但是,如果你有新的要求,请使用现在的新的和改进的工具版本。

注:相干站建设技能浏览请移步到建站教程频道。

4 : mysql索引创建与删除

[mysql索引]mysql索引创建与删除——简介

mysql索引,mysql创建索引,mysql删除索引

[mysql索引]mysql索引创建与删除——详细知识

[mysql索引]mysql索引创建与删除 1

在关系数据库中,索引是1种与表有关的数据库结构,它可使对应于表的SQL语句实行得更快。今天就简单地给大家演示1下mysql中索引的创建,查询和删除。

[mysql索引]mysql索引创建与删除 2

1.首先随便建立1张表,SQL语句以下:

CREATE TABLE IF NOT EXISTS `student` (

`id` int(11) NOT NULL AUTO_INCREMENT COMMENT 学号,

`name` varchar(64) NOT NULL DEFAULT COMMENT 姓名,

`sex` tinyint(1) NOT NULL COMMENT 性别,

`age` tinyint(2) NOT NULL COMMENT 年龄,

`class` varchar(64) NOT NULL DEFAULT COMMENT 班级,

PRIMARY KEY (`id`)

) ENGINE=MYISAM DEFAULT CHARSET=utf8 COMMENT=学生表;

[mysql索引]mysql索引创建与删除 3

2.可以看到,在创建表的SQL语句中,已建立了1个主键索引,此时查看表中索引:SHOW INDEX FROM `student`,结果如图所示:

[mysql索引]mysql索引创建与删除 4

3.固然,我们还可以在基础上添加别的索引,比如说唯1索引。假定每一个学生的名字是不可以重复的,那么就能够在name字段上添加1个唯1索引:

ALTER TABLE `student` ADD UNIQUE `stu_name` (`name`);

此时,再次查看表中索引,SHOW INDEX FROM `student`,结果如图所示:

[mysql索引]mysql索引创建与删除 5

4.然后再给班级添加1个普通索引:

ALTER TABLE `student` ADD INDEX `stu_class` (`class`);

查看表中索引,SHOW INDEX FROM `student`,结果如图所示:

[mysql索引]mysql索引创建与删除 6

5.接下来是删除索引,删除掉唯1索引和普通索引:

ALTER TABLE `student` DROP INDEX `stu_name`;

ALTER TABLE `student` DROP INDEX `stu_class`;

然后查看表中索引,SHOW INDEX FROM `student`,结果如图所示:

[mysql索引]mysql索引创建与删除 7

6.这时候,就剩下1个主键索引了,如果直接删除的话将会报错:

ALTER TABLE `student` DROP PRIMARY KEY;

缘由:由于主键索引关联的id键为自动增长;

[mysql索引]mysql索引创建与删除 8

7.需要先将id键的自动增长取消:

ALTER TABLE `student` MODIFY `id` int(10) NOT NULL COMMENT 学号

再次实行:ALTER TABLE `student` DROP PRIMARY KEY;

查看表中索引,SHOW INDEX FROM `student`,表中已没有索引啦。

5 : mysql建立索引删除索引很慢的解决

mysql建立索引删除索引很慢的解决

目前情况

建立索引非常慢,需8分钟...

目前环境:

----------------

table行: 30W

版本5.0.45-community-nt

系统XP CPU2.11G MEM2G

测试语句:

----------------------

CREATE INDEX i_atian ON gaopinzi(atian)DROP INDEX i_atian ON gaopinzi

解决方法:调剂i的参数配制..不个_size统统加大10倍..

----------------------------------------------------

原来

read_buffer_size=64Kread_rnd_buffer_size=256Ksort_buffer_size=203Kinnodb_additional_mem_pool_size=2Minnodb_log_buffer_size=1M[SQL] DROP INDEX i_atian ON gaopinzi

受影响的行: 322750

时间: 459.031s

i 提升10倍数

read_buffer_size=80M

read_rnd_buffer_size=80M

sort_buffer_size=88M

innodb_additional_mem_pool_size=200M

innodb_log_buffer_size=100M

QL] DROP INDEX i_atian ON gaopinzi

受影响的行: 322750

时间: 33.766s

[SQL] CREATE INDEX i_atian ON gaopinzi(atian)

受影响的行: 322750

时间: 35.890s

治疗痛经的简单方法
怎么样治疗月经不调
月经过多贫血吃什么好
相关文章
  • 高温实验报告烈日下中午汽车内温度有多高
    高温实验报告烈日下中午汽车内温度有多高

    衢城哪里最火热?夏天什么颜色衣服凉快?车子暴晒能达多少高温?空调开一夜,能耗几度电……高温下的生活,也有高温下的精彩。从今天起,我们将推出“高温实验报告”栏目,从这里您可以看到本季最生活、最趣味的话题。我们为您进行了一个又一个的夏季生...

  • 2012十大网络婚恋热词出炉新名词折射新型婚恋观
    2012十大网络婚恋热词出炉新名词折射新型婚恋观

    自我标榜新名词:高富帅、白富美高富帅白富美等热词原本不过是无聊笑谈,但2012年的整个络却被它们充斥。当全天下的男人都被分为高富帅和屌丝两类时,这两种人群带来的婚恋行为以及价值观就有了其社会意义,贫富差距、社会阶层、中国式门当户对被这些词语...

  • 宇宙射线入侵关手机不靠谱
    宇宙射线入侵关手机不靠谱

    原标题:宇宙射线入侵关?不靠谱近日,一则有关宇宙射线入侵地球,提醒友关闭防范射线的信息在微博、朋友圈中广泛传播,引起不少友的关注。对此,天体物理专家表示,仅根据目前传播的信息来看,这种说法存在诸多漏洞,市民不必为此惊慌。现“宇宙射线入...

  • 广西与东盟的双边贸易额首破20亿美元
    广西与东盟的双边贸易额首破20亿美元

    新华社南宁9月19日电(王勉)日前从广西南宁海关了解到,今年1至8月,广西与东盟的贸易额首次突破20亿美元。地处祖国南疆的广西,是我国西部大开发唯一沿海的省(区),位于华南经济圈、西南经济圈与东盟经济圈的接合部,沿江沿海沿边,在中国与...

  • 38万元补偿金引关心五保户被亲戚争抢监护权
    38万元补偿金引关心五保户被亲戚争抢监护权

    广西讯(通讯员彭卫洁)年逾花甲的农村孤寡老人,由于从小精神不是很正常,一直未成家,因此成为村里的五保户。本来老人可以一直平静地生活下去,然而从天而降的38万元征地补偿款,打破了他生活的平静。从2009年以来,因为老人的38万元补偿款,连续引发3起纠...

  • 英雄联盟2015电竞计划赛事调整完善产业打造品牌
    英雄联盟2015电竞计划赛事调整完善产业打造品牌

    英雄联盟比赛现场英雄联盟趁着年末的德玛西亚杯,邀请电子竞技产业链上的代表聚在一起讨论行业发展。作为主办方,英雄联盟率先介绍了过去两年做的事和在2015年在电竞方面即将要做的事情。英雄联盟的市场负责人金亦波透露,2015年LOL的电竞工作将会是三个方...