当前位置:首页 » 半夜时分 » 为什么索引时间一长性能变差

为什么索引时间一长性能变差

发布时间: 2023-05-07 05:40:49

1. 索引量一直在下降是什么原因

网络索引量下降的原因返宴罩:
1、网络索引数据最快每天更新一次,最迟一周更新一次,不同站点的更新日期可能不同。
2、如果已有流量数据查询不到,请隔日再查,最长间隔一周可查询到数据。
3、如果出现索引量数据与site查询结果数差异较大的情况,有问题可提交给网络,请求释放内容。
网络索引量给站长提供了一个参考,漏闹每天索引多少,直接反映给站长,网络蜘蛛是否喜欢这些东东。如果有一天网络索引量为0,也不用大惊小怪,一般第二天网络索引量就回索取了祥旦。索引量多少直接说明此网站受欢迎情度,与网站IP流量成正比关系。

2. 数据库建索引如何影响性能,影响性能的真正原因是什么、

数据库建索引主要是用于查询时进行排序的,当然某一字段没有建索引,SQL里也可以它为关键字进行排序,但性能远远低于有索引的情况,记录比较多的时候对比更明显。至于性能,如果在记录比卖羡较多的情况,上万条记录,你又建了很多索引,数据库本身维护这些索引会付出很大的代价。这个颂告时候你只要在几个常用的字段上加索引,野配明删掉不用的索引,就会解决性能的问题。

3. 为什么电脑用了一段时间性能会变差

做一次新系统吧!
你系统区垃圾多了!
不嫌累就按下面的做吧!可能效果好一点!

一、软件篇

1、设定虚拟内存

硬盘中有一个很宠大的数据交换文件,它是系统预留给虚拟内存作暂存的地方,很多应用程序都经常会使用到,所以系统需要经常对主存储器作大量的数据存取,因此存取这个档案的速度便构成影响计算机快慢的非常重要因素!一般Windows预设的是由系统自行管理虚拟内存,它会因应不同程序所需而自动调校交换档的大小,但这样的变大缩小会给系统带来额外的负担,令系统运作变慢!有见及此,用户最好自定虚拟内存的最小值和最大值,避免经常变换大小。要设定虚拟内存,在“我的电脑”上按右键选择“属性”,在“高级”选项里的“效能”的对话框中,对“虚拟内存”进行设置。

3、检查应用软件或者驱动程序

有些程序在电脑系统启动会时使系统变慢。如果要是否是这方面的原因,我们可以从“安全模式”启动。因为这是原始启动,“安全模式”运行的要比正常运行时要慢。但是,如果你用“安全模式”启动发现电脑启动速度比正常启动时速度要快,那可能某个程序是导致系统启动速度变慢的原因。

4、桌面图标太多会惹祸

桌面上有太多图标也会降低系统启动速度。Windows每次启动并显示桌面时,都需要逐个查找桌面快捷方式的图标并加载它们,图标越多,所花费的时间当然就越多。同时有些杀毒软件提供了系统启动扫描功能,这将会耗费非常多的时间,其实如果你已经打开了杀毒软件的实时监视功能,那么启动时扫描系统就显得有些多余,还是将这项功能禁止吧! 建议大家将不常用的桌面图标放到一个专门的文件夹中或者干脆删除!

5、ADSL导致的系统启动变慢

默认情况下Windows XP在启动时会对网卡等网络设备进行自检,如果发现网卡的IP地址等未配置好就会对其进行设置,这可能是导致系统启动变慢的真正原因。这时我们可以打开“本地连接”属性菜单,双击“常规”项中的“Internet协议”打开“TCP/IP属性”菜单。将网卡的IP地址配置为一个在公网(默认的网关是192.168.1.1)中尚未使用的数值如192.168.1.X,X取介于2~255之间的值,子网掩码设置为255.255.255.0,默认网关和DNS可取默认设置。

6、字体对速度的影响

虽然 微软 声称Windows操作系统可以安装1000~1500种字体,但实际上当你安装的字体超过500 种时,就会出现问题,比如:字体从应用程序的字体列表中消失以及Windows的启动速度大幅下降。在此建议最好将用不到或者不常用的字体删除,为避免删除后发生意外,可先进行必要的备份。

7、删除随机启动程序

何谓随机启动程序呢?随机启动程序就是在开机时加载的程序。随机启动程序不但拖慢开机时的速度,而且更快地消耗计算机资源以及内存,一般来说,如果想删除随机启动程序,可去“启动”清单中删除,但如果想详细些,例如是QQ、popkiller 之类的软件,是不能在“启动”清单中删除的,要去“附属应用程序”,然后去“系统工具”,再去“系统信息”,进去后,按上方工具列的“工具”,再按“系统组态编辑程序”,进去后,在“启动”的对话框中,就会详细列出在启动电脑时加载的随机启动程序了!XP系统你也可以在“运行”是输入Msconfig调用“系统配置实用程序”才终止系统随机启动程序,2000系统需要从XP中复制msconfig程序。

8、取消背景和关闭activedesktop

不知大家有否留意到,我们平时一直摆放在桌面上漂亮的背景,其实是很浪费计算机资源的!不但如此,而且还拖慢计算机在执行应用程序时的速度!本想美化桌面,但又拖慢计算机的速度,这样我们就需要不在使用背景了,方法是:在桌面上按鼠标右键,再按内容,然后在“背景”的对话框中,选“无”,在“外观”的对话框中,在桌面预设的青绿色,改为黑色......至于关闭activedesktop,即是叫你关闭从桌面上的web画面,例如在桌面上按鼠标右键,再按内容,然后在“背景”的对话框中,有一幅背景,名为Windows XX,那副就是web画面了!所以如何系统配置不高就不要开启。

10、把Windows变得更苗条

与DOS系统相比,Windows过于庞大,而且随着你每天的操作,安装新软件、加载运行库、添加新游戏等等使得它变得更加庞大,而更为重要的是变大的不仅仅是它的目录,还有它的 注册表 和运行库。因为即使删除了某个程序,可是它使用的DLL文件仍然会存在,因而随着使用日久,Windows的启动和退出时需要加载的DLL动态链接库文件越来越大,自然系统运行速度也就越来越慢了。这时我们就需要使用一些彻底删除DLL的程序,它们可以使Windows恢复苗条的身材。建议极品玩家们最好每隔两个月就重新安装一遍Windows,这很有效。

11、更改系统开机时间

虽然你已知道了如何新增和删除一些随机启动程序,但你又知不知道,在开机至到进入Windows的那段时间,计算机在做着什么呢?又或者是,执行着什么程序呢?那些程序,必定要全部载完才开始进入Windows,你有否想过,如果可删除一些不必要的开机时的程序,开机时的速度会否加快呢?答案是会的!想要修改,可按"开始",选"执行",然后键入win.ini,开启后,可以把以下各段落的内容删除,是删内容,千万不要连标题也删除!它们包括:[compatibility]、[compatibility32]、[imecompatibility]、[compatibility95]、[molecompatibility]和[embedding]。

二、硬件篇

1、Windows系统自行关闭硬盘DMA模式

硬盘的DMA模式大家应该都知道吧,硬盘的PATA模式有DMA33、DMA66、DMA100和DMA133,最新的SATA-150都出来了!一般来说现在大多数人用的还是PATA模式的硬盘,硬盘使用DMA模式相比以前的PIO模式传输的速度要快2~8倍。DMA模式的起用对系统的性能起到了实质的作用。但是你知道吗?Windows 2000、XP、2003系统有时会自行关闭硬盘的DMA模式,自动改用PIO模式运行!这就造成在使用以上系统中硬盘性能突然下降,其中最明显的现象有:系统起动速度明显变慢,一般来说正常Windows XP系统启动时那个由左向右运动的滑条最多走2~4次系统就能启动,但这一问题发生时可能会走5~8次或更多!而且在运行系统时进行硬盘操作时明显感觉变慢,在运行一些大的软件时CPU占用率时常达到100%而产生停顿,玩一些大型3D游戏时画面时有明显停顿,出现以上问题时大家最好看看自己硬盘的DMA模式是不是被Windows 系统自行关闭了。查看自己的系统是否打开DMA模式:

a. 双击“管理工具”,然后双击“计算机管理”;

b. 单击“系统工具”,然后单击“设备管理器”;

c. 展开“IDE ATA/ATAPI 控制器”节点;

d. 双击您的“主要IDE控制器”;

2、CPU 和风扇是否正常运转并足够制冷

当CPU风扇转速变慢时,CPU本身的温度就会升高,为了保护CPU的安全,CPU就会自动降低运行频率,从而导致计算机运行速度变慢。有两个方法检测CPU的温度。你可以用“手指测法”用手指试一下处理器的温度是否烫手,但是要注意的是采用这种方法必须先拔掉电源插头,然后接一根接地线来防止身上带的静电击穿CPU以至损坏。另一个比较科学的方法是用带感温器的万用表来检测处理器的温度。

因为处理器的种类和型号不同,合理温度也各不相同。但是总的来说,温度应该低于 110 度。如果你发现处理器的测试高于这处温度,检查一下机箱内的风扇是否正常运转。

3、USB和扫描仪造成的影响

由于Windows 启动时会对各个驱动器(包括光驱)进行检测,因此如果光驱中放置了光盘,也会延长电脑的启动时间。所以如果电脑安装了扫描仪等设备,或在启动时已经连接了USB硬盘,那么不妨试试先将它们断开,看看启动速度是不是有变化。一般来说,由于USB接口速度较慢,因此相应设备会对电脑启动速度有较明显的影响,应该尽量在启动后再连接USB设备。如果没有USB设备,那么建议直接在BIOS设置中将USB功能关闭。

4、是否使用了磁盘压缩

因为“磁盘压缩”可能会使电脑性能急剧下降,造成系统速度的变慢。所以这时你应该检测一下是否使用了“磁盘压缩”,具体操作是在“我的电脑”上点击鼠标右键,从弹出的菜单选择“属性”选项,来检查驱动器的属性。

5、网卡造成的影响

只要设置不当,网卡也会明显影响系统启动速度,你的电脑如果连接在局域网内,安装好网卡驱动程序后,默认情况下系统会自动通过DHCP来获得IP地址,但大多数公司的局域网并没有DHCP服务器,因此如果用户设置成“自动获得IP地址”,系统在启动时就会不断在网络中搜索DHCP 服务器,直到获得IP 地址或超时,自然就影响了启动时间,因此局域网用户最好为自己的电脑指定固定IP地址。

6、文件夹和打印机共享

安装了Windows XP专业版的电脑也会出现启动非常慢的时候,有些时候系统似乎给人死机的感觉,登录系统后,桌面也不出现,电脑就像停止反应,1分钟后才能正常使用。这是由于使用了Bootvis.exe 程序后,其中的Mrxsmb.dll文件为电脑启动添加了67秒的时间!

要解决这个问题,只要停止共享文件夹和打印机即可:选择“开始→设置→网络和拨号连接”,右击“本地连接”,选择“属性”,在打开的窗口中取消“此连接使用下列选定的组件”下的“ Microsoft 网络的文件和打印机共享”前的复选框,重启电脑即可。
7、系统配件配置不当

一些用户在组装机器时往往忽略一些小东西,从而造成计算机整体配件搭配不当,存在着速度上的瓶颈。比如有些朋友选的CPU档次很高,可声卡等却买了普通的便宜货,其实这样做往往是得不偿失。因为这样一来计算机在运行游戏、播放影碟时由于声卡占用CPU资源较高且其数据传输速度较慢,或者其根本无硬件解码而需要采用软件解码方式,常常会引起声音的停顿,甚至导致程序的运行断断续续。又如有些朋友的机器是升了级的,过去老机器上的一些部件如内存条舍不得抛弃,装在新机器上照用,可是由于老内存的速度限制,往往使新机器必须降低速度来迁就它,从而降低了整机的性能,极大地影响了整体的运行速度。

9、断开不用的网络驱动器

为了消除或减少 Windows 必须重新建立的网络连接数目,建议将一些不需要使用的网络驱动器断开,也就是进入“我的电脑”,右击已经建立映射的网络驱动器,选择“断开”即可。

10、缺少足够的内存

Windows操作系统所带来的优点之一就是多线性、多任务,系统可以利用CPU来进行分时操作,以便你同时做许多事情。但事情有利自然有弊,多任务操作也会对你的机器提出更高的要求。朋友们都知道即使是一个最常用的WORD软件也要求最好有16MB左右的内存,而运行如3D MAX等大型软件时,64MB的内存也不够用。所以此时系统就会自动采用硬盘空间来虚拟主内存,用于运行程序和储存交换文件以及各种临时文件。由于硬盘是机械结构,而内存是电子结构,它们两者之间的速度相差好几个数量级,因而使用硬盘来虚拟主内存将导致程序运行的速度大幅度降低。

11、硬盘空间不足

使用Windows系统平台的缺点之一就是对文件的管理不清楚,你有时根本就不知道这个文件对系统是否有用,因而Windows目录下的文件数目越来越多,容量也越来越庞大,加之现在的软件都喜欢越做越大,再加上一些系统产生的临时文件、交换文件,所有这些都会使得硬盘可用空间变小。当硬盘的可用空间小到一定程度时,就会造成系统的交换文件、临时文件缺乏可用空间,降低了系统的运行效率。更为重要的是由于我们平时频繁在硬盘上储存、删除各种软件,使得硬盘的可用空间变得支离破碎,因此系统在存储文件时常常没有按连续的顺序存放,这将导致系统存储和读取文件时频繁移动磁头,极大地降低了系统的运行速度。

12、硬盘分区太多也有错

如果你的Windows 2000没有升级到SP3或SP4,并且定义了太多的分区,那么也会使启动变得很漫长,甚至挂起。所以建议升级最新的SP4,同时最好不要为硬盘分太多的区。因为Windows 在启动时必须装载每个分区,随着分区数量的增多,完成此操作的时间总量也会不断增长。

三、病毒篇

如果你的计算机感染了病毒,那么系统的运行速度会大幅度变慢。病毒入侵后,首先占领内存这个据点,然后便以此为根据地在内存中开始漫无休止地复制自己,随着它越来越庞大,很快就占用了系统大量的内存,导致正常程序运行时因缺少主内存而变慢,甚至不能启动;同时病毒程序会迫使CPU转而执行无用的垃圾程序,使得系统始终处于忙碌状态,从而影响了正常程序的运行,导致计算机速度变慢。下面我们就介绍几种能使系统变慢的病毒。

1、使系统变慢的bride病毒

病毒类型:黑客程序
发作时间:随机
传播方式:网络
感染对象:网络
警惕程度:★★★★

病毒介绍:

此病毒可以在Windows 2000、Windows XP等操作系统环境下正常运行。运行时会自动连接www.hotmail.com网站,如果无法连接到此网站,则病毒会休眠几分钟,然后修改注册表将自己加入注册表自启动项,病毒会释放出四个病毒体和一个有漏洞的病毒邮件并通过邮件系统向外乱发邮件,病毒还会释放出FUNLOVE病毒感染局域网计算机,最后病毒还会杀掉已知的几十家反病毒软件,使这些反病毒软件失效。

病毒特征

如果用户发现计算机中有这些特征,则很有可能中了此病毒。

·病毒运行后会自动连接www.hotmail.com网站。
·病毒会释放出Bride.exe,Msconfig.exe,Regedit.exe三个文件到系统目录;释放出:Help.eml, Explorer.exe文件到桌面。
·病毒会在注册表的HKEY_LOCAL_项中加入病毒Regedit.exe的路径。
·病毒运行时会释放出一个FUNLOVE病毒并将之执行,而FUNLOVE病毒会在计算机中大量繁殖,造成系统变慢,网络阻塞。
·病毒会寻找计算机中的邮件地址,然后按照地址向外大量发送标题为:<被感染的计算机机名>(例:如果用户的计算机名为:张冬, 则病毒邮件的标题为:张冬)的病毒邮件。
·病毒还会杀掉几十家国外着名的反病毒软件。

用户如果在自己的计算机中发现以上全部或部分现象,则很有可能中了Bride(Worm.bride)病毒,请用户立刻用手中的杀毒软件进行清除。

2、使系统变慢的阿芙伦病毒

病毒类型:蠕虫病毒
发作时间:随机
传播方式:网络/文件
感染对象:网络
警惕程度:★★★★

病毒介绍:

此病毒可以在Windows 9X、Windows NT、Windows 2000、Windows XP等操作系统环境下正常运行。病毒运行时将自己复到到TEMP、SYSTEM、RECYCLED目录下,并随机生成文件名。该病毒运行后,会使消耗大量的系统资源,使系统明显变慢,并且杀掉一些正在运行的反病毒软件,建立四个线程在局域网中疯狂传播。

病毒特征

如果用户发现计算机中有这些特征,则很有可能中了此病毒:

·病毒运行时会将自己复到到TEMP、SYSTEM、RECYCLED目录下,文件名随机
·病毒运行时会使系统明显变慢
·病毒会杀掉一些正在运行的反病毒软件
·病毒会修改注册表的自启动项进行自启动
·病毒会建立四个线程在局域网中传播

用户如果在自己的计算机中发现以上全部或部分现象,则很有可能中了“阿芙伦(Worm.Avron)”病毒,由于此病毒没有固定的病毒文件名,所以,最好还是选用杀毒软件进行清除。
3、恶性蠕虫 震荡波

病毒名称: Worm.Sasser
中文名称: 震荡波
病毒别名: W32/Sasser.worm [Mcafee]
病毒类型: 蠕虫
受影响系统:WinNT/Win2000/WinXP/Win2003

病毒感染症状:

·莫名其妙地死机或重新启动计算机;
·系统速度极慢,cpu占用100%;
·网络变慢;
·最重要的是,任务管理器里有一个叫"avserve.exe"的进程在运行!

破坏方式:

·利用WINDOWS平台的 Lsass 漏洞进行广泛传播,开启上百个线程不停攻击其它网上其它系统,堵塞网络。病毒的攻击行为可让系统不停的倒计时重启。
·和最近出现的大部分蠕虫病毒不同,该病毒并不通过邮件传播,而是通过命令易受感染的机器
下载特定文件并运行,来达到感染的目的。
·文件名为:avserve.exe

解决方案:

·请升级您的操作系统,免受攻击
·请打开个人防火墙屏蔽端口:445、5554和9996,防止名为avserve.exe的程序访问网络
·手工解决方案:

首先,若系统为WinMe/WinXP,则请先关闭系统还原功能;

步骤一,使用进程程序管理器结束病毒进程

右键单击任务栏,弹出菜单,选择“任务管理器”,调出“Windows任务管理器”窗口。在任务管理器中,单击“进程”标签,在例表栏内找到病毒进程“avserve.exe”,单击“结束进程按钮”,点击“是”,结束病毒进程,然后关闭“Windows任务管理器”;

步骤二,查找并删除病毒程序

通过“我的电脑”或“资源管理器”进入 系统安装目录(Winnt或windows),找到文件“avser ve.exe”,将它删除;然后进入系统目录(Winntsystem32或windowssystem32),找 到文件"*_up.exe", 将它们删除;

步骤三,清除病毒在注册表里添加的项

打开注册表编辑器: 点击开始——>运行, 输入REGEDIT, 按Enter;

在左边的面板中, 双击(按箭头顺序查找,找到后双击):

HKEY_CURRENT_

在右边的面板中, 找到并删除如下项目:"avserve.exe" = %SystemRoot%avserve.exe

关闭注册表编辑器。

第二部份 系统加速

一、Windows 98

1、不要加载太多随机启动程序

不要在开机时载入太多不必要的随机启动程序。选择“开始→程序→附件→系统工具→系统信息→系统信息对话框”,然后,选择“工具→系统配置实用程序→启动”,只需要internat.exe前打上钩,其他项都可以不需要,选中后确定重起即可。

2、转换系统文件格式

将硬盘由FAT16转为FAT32。

3、不要轻易使用背景

不要使用ActiveDesktop,否则系统运行速度会因此减慢(右击屏幕→寻显示器属性→Web标签→将其中关于“活动桌面”和“频道”的选项全部取消)。

4、设置虚拟内存

自己设定虚拟内存为机器内存的3倍,例如:有32M的内存就设虚拟内存为96M,且最大值和最小值都一样(此设定可通过“控制面板→系统→性能→虚拟内存”来设置)。

5、一些优化设置

a、到控制面板中,选择“系统→性能→ 文件系统”。将硬盘标签的“计算机主要用途”改为网络服务器,“预读式优化"调到全速。

b、将“软盘”标签中“每次启动就搜寻新的软驱”取消。

c、CD-ROM中的“追加高速缓存”调至最大,访问方式选四倍速或更快的CD-ROM。

6、定期对系统进行整理

定期使用下列工具:磁盘扫描、磁盘清理、碎片整理、系统文件检查器(ASD)、Dr�Watson等。
二、Windows 2000

1、升级文件系统

a、如果你所用的操作系统是win 9x与win 2000双重启动的话,建议文件系统格式都用FAT32格式,这样一来可以节省硬盘空间,二来也可以9x与2000之间能实行资源共享。

提醒:要实现这样的双重启动,最好是先在纯DOS环境下安装完9x在C区,再在9x中或者用win 2000启动盘启动在DOS环境下安装2000在另一个区内,并且此区起码要有800M的空间以上

b、如果阁下只使用win 2000的话,建议将文件系统格式转化为NTFS格式,这样一来可节省硬盘空间,二来稳定性和运转速度更高,并且此文件系统格式有很好的纠错性;但这样一来,DOS和win 9x系统就不能在这文件系统格式中运行,这也是上面所说做双启动最好要用FAT32格式才能保证资源共享的原因。而且,某些应用程序也不能在此文件系统格式中运行,大多是DOS下的游戏类。

提醒:在win 2000下将文件系统升级为NTFS格式的方法是,点击“开始-程序-附件”选中“命令提示符”,然后在打开的提示符窗口输入"convert drive_letter:/fs:ntfs",其中的"drive"是你所要升级的硬盘分区符号,如C区;还需要说明的是,升级文件系统,不会破坏所升级硬盘分区里的文件,无需要备份。

· 再运行“添加-删除程序”,就会看见多出了个“添加/删除 Windows 组件”的选项;

b、打开“文件夹选项”,在“查看”标签里选中“显示所有文件和文件夹”,此时在你安装win 2000下的区盘根目录下会出现Autoexec.bat和Config.sys两个文件,事实上这两个文件里面根本没有任何内容,可以将它们安全删除。

c、右击“我的电脑”,选中“管理”,在点“服务和应用程序”下的“服务”选项,会看见win 2000上加载的各个程序组见,其中有许多是关于局域网设置或其它一些功能的,你完全可以将你不使用的程序禁用;

如:Alertr,如果你不是处于局域网中,完全可以它设置为禁用;还有Fax Service,不发传真的设置成禁用;Print Spooler,没有打印机的设置成制用;Uninterruptible power Supply,没有UPS的也设置成禁用,这些加载程序你自己可以根据自己实际情况进行设置。

各个加载程序后面都有说明,以及运行状态;选中了要禁用的程序,右击它,选“属性”,然后单击停止,并将“启动类型”设置为“手动”或者“已禁用”就行了

d、关掉调试器Dr. Watson;

运行drwtsn32,把除了“转储全部线程上下文”之外的全都去掉。否则一旦有程序出错,硬盘会响很久,而且会占用很多空间。如果你以前遇到过这种情况,请查找user.dmp文件并删掉,可能会省掉几十兆的空间。这是出错程序的现场,对我们没用。另外蓝屏时出现的memory.dmp也可删掉。可在我的电脑/属性中关掉

4. 启用索引有什么危害

启用索引的危害如下:
1、备睁亩索引会增加数据库的存储开销,因为索引会占用一定的存储空间。
2、索引会降低数据库的更新速度,因为增加、删除或修改索引都会需要消耗较大的时间。
3、如果早答索引不合理,会影响数据库查询的性能。
4、索引过多也会影响仿森数据库查询性能,因为数据库会去检查每一个索引来满足查询条件。
5、索引对于数据库的备份和恢复有一定的影响,因为索引的恢复会消耗大量的时间。

5. sql 索引用多了会越来越卡吗

1. 执行计划中明明有使用到索引,为什么执行还是这么慢?

2. 执行计划中显示扫描行数为 644,为什么 slow log 中显示 100 多万行?
a. 我们先看执行计划,选择的索引 “INDX_BIOM_ELOCK_TASK3(TASK_ID)”。结合 sql 来看,因为有 "ORDER BY TASK_ID DESC" 子句,排序通常很慢,如果使用了文件排序性能会更差,优化器选择这个索引避免了排序。
那为什么不选 possible_keys:INDX_BIOM_ELOCK_TASK 呢?原因也很简单,TASK_DATE 字段区分度太低了,走这个索引需要扫描的行数很大,而且还要进行额外的排序,优化器综合判断代价更大,所以就不选这个索引了。不过如果我们强制选择这个索引缺纯(用 force index 语法),会看到 SQL 执行速度更快少于 10s,那是因为优化器基于代价的原则并不等价于执行速度的快慢;
b. 再看执行计划中的 type:index,"index" 代表 “全索引扫描”,其实和全表扫描差不多,只是扫描的时候是按照索引次序进行而不是行,主要优点就是避免了排序,但是开销仍然非常大。
Extra:Using where 也意味着扫描完索引后还需要回表进行筛选。一般来说,郑数得保证 type 至少达到 range 级别,最好能达到 ref。
在第 2 点中提到的“慢日志记录Rows_examined: 1161559,看起来是全表扫描”,这里更正为“全索引扫描”,扫描行数确实等于表的行数;
c. 关于伏丛咐执行计划中:“rows:644”,其实这个只是估算值,并不准确,我们分析慢 SQL 时判断准确的扫描行数应该以 slow log 中的 Rows_examined 为准。
4. 优化建议:添加组合索引 IDX_REL_DEVID_TASK_ID(REL_DEVID,TASK_ID)

优化过程:
TASK_DATE 字段存在索引,但是选择度很低,优化器不会走这个索引,建议后续可以删除这个索引:
select count(*),count(distinct TASK_DATE) from T_BIOMA_ELOCK_TASK;+------------+---------------------------+| count(*) | count(distinct TASK_DATE) |+------------+---------------------------+| 1161559 | 223 |+------------+---------------------------+

在这个 sql 中 REL_DEVID 字段从命名上看选择度较高,通过下面 sql 来检验确实如此:
select count(*),count(distinct REL_DEVID) from T_BIOMA_ELOCK_TASK;+----------+---------------------------+| count(*) | count(distinct REL_DEVID) |+----------+---------------------------+| 1161559 | 62235 |+----------+---------------------------+

由于有排序,所以得把 task_id 也加入到新建的索引中,REL_DEVID,task_id 组合选择度 100%:
select count(*),count(distinct REL_DEVID,task_id) from T_BIOMA_ELOCK_TASK;+----------+-----------------------------------+| count(*) | count(distinct REL_DEVID,task_id) |+----------+-----------------------------------+| 1161559 | 1161559 |+----------+-----------------------------------+

在测试环境添加 REL_DEVID,TASK_ID 组合索引,测试 sql 性能:alter table T_BIOMA_ELOCK_TASK add index idx_REL_DEVID_TASK_ID(REL_DEVID,TASK_ID);
添加索引后执行计划:
这里还要注意一点“隐式转换”:REL_DEVID 字段数据类型为 varchar,需要在 sql 中加引号:AND T.REL_DEVID = 000000025xxx >> AND T.REL_DEVID = '000000025xxx'

执行时间从 10s+ 降到 毫秒级别:
1 row in set (0.00 sec)
结论
一个典型的 order by 查询的优化,添加更合适的索引可以避免性能问题:执行计划使用索引并不意味着就能执行快。

6. 索引的用途,在什么情况下索引会降低数据库操作性能

索引可以加快查询速度,但是会降低增加、删除老友、修改的速度
如果你的数据表,增加删除修改的时候比查询的时候侍液槐多,那么用索引就会降低性能埋弯

7. mysql 创建完索引之后 ,查询反而变慢了,这是为什么

我们先来看第一个阶段,MySQL慢的诊断思路,一般我们会从三个方向来做:

  • 第一个方向是MySQL内部的观测

  • 第二个方向是外部资源的观测

  • 第三个方向是外部需求的改造

  • 1.1 MySQL 内部观测

    我们来看MySQL内部的观测,常用的观测手段是这样的,从上往下看,第一部分是Processlist,看一下哪个SQL压力不太正常,第二步是explain,解释一下它的执行计划,第三步我们要做Profilling,如果这个SQL能再执行一次的话, 就做一个Profilling,然后高级的DBA会直雀绝卖接动用performance_schema ,MySQL 5.7 以后直接动用sys_schema,sys_schema是一个视图,里面有便捷的各类信息,帮助大家来诊断性能。再高级一点,我们会动用innodb_metrics进行一个对引擎的诊断。

    除了这些手段以外,大家还提出了一些乱七八糟的手段,我就不列在这了,这些是常规的一个MySQL的内部的状态观测的思路。除了这些以外,MySQL还陆陆续续提供了一些暴露自己状态的方案,但是这些方案并没有在实践中形成套路,原因是学习成本比较高。

    1.2 外部资源观测

    外部资源观测这部分,我引用了一篇文章,这篇文章的二维码我贴在上面了。这篇文章是国外的一个神写的,标题是:60秒的快速巡检,我们来看一下它在60秒之内对服务器到底做了一个什么样的巡检。一共十条命令,这是前五条,我们一条一条来看。

    1.uptime,uptime告诉我们这个机器活了多久,以及它的平均的负载是多少。

    2.dmesg -T | tail,告诉我们系统日志里边有没有什么报错。

    3.vmstat 1,告诉我们虚拟内存的状态,页的换进换出有没有问题,swap有没有使用。

    4. mpstat -P ALL,告诉我们CPU压力在各个核上是不是均匀的。

    5.pidstat 1,告诉我们各个进程的对资源的占用大概是什么样子。

    我们来看一下后五条:

    首先是iostat-xz 1,查看IO的问题,然后是free-m内存使用率,之后两个sar,按设备网卡设备的维度,看一下网络的消耗状态,以及总体看TCP的使用率和错误率是多少。最后一条命令top,看一下大概的进程和线程的问题。

    这个就是对于外部资源的诊断,这十条命令揭示了应该去诊断哪些外部资源。

    1.3 外部需求改造

    第三个诊断思路是外宏简部的需求改造,我在这里引用了一篇文档,这篇文档是MySQL的官方文档中的一章,这一章叫Examples of Common Queries,文档中介绍了常规的SQL怎么写, 给出了一些例子。文章的链接二维码在slide上。

    我们来看一下它其中提到的一个例子。

    它做的事情是从一个表里边去选取,这张表有三列,article、dealer、price,选取每个作者的最贵的商品列在结果集中,这是它的最原始的SQL,非常符合业务的写法,但是它是个关联子查询。

    关联子查询成本是很贵的,所以上面的文档会教你快速地把它转成一个非关联子查询,大家可以看到中间的子查询和外边的查询之间是没有关联性的。

    第三步,会教大家直接把子查询拿掉,然后转成这样一个SQL,这个就叫业务改造,前后三个SQL的成本都不一样,把关联子查询拆掉的成本,拆掉以后SQL会跑得非常好,但这个SQL已经不能良好表义了,只有在诊断到SQL成本比较高的情况下才建议大家使用这种方式。

    为什么它能够把一个关联子查询拆掉呢?

    这背后的原理是关系代数,所有的SQL都可以被表达成等价的关系代数式,关系代数式之间有等价关系,这个等价关系通过变换可以把关联子查询拆掉。

    上面的这篇文档是一个大学的教材,它从头教了关于代数和SQL之间的关系。然后一步步推导怎么去简化这句SQL。

    第一,MySQL本身提供了很多命令来观察MySQL自身的各类状态,大家从上往下检一般能检到SQL的问题或者服务器的问题。

    第二,从服务器的角度,我们从巡检的脚本角度入手,服务器的资源就这几种,观测手法也就那么几种,顷逗我们把服务器的资源全部都观察一圈就可以了。

    第三,如果实在搞不定,需求方一定要按照数据库容易接受的方式去写SQL,这个成本会下降的非常快,这个是常规的MySQL慢的诊断思路。

8. 索引有什么优缺点

优点:

1、大大加快数据的检索速度;

2、创建唯一性索引,保证数据库表中每一行数据的唯一性;

3、加速表和表之间的连接;

4、在使用分组和排序子句进行数据检索时,可以显着减少查询中分组和排序的时间。

缺点:

1、索引需要占物理空间。

2、当对表中的数据进行增加、删除和修改的时候,索引也要动态的维护,降低了数据的维护速度。

(8)为什么索引时间一长性能变差扩展阅读:

发展历史:

索引最早出现于西方,主要是中世纪欧洲宗教着作的索引。18世纪以后西方开始有主题索引,至19世纪末,内容分析索引被广泛使用。中国的索引出现较晚。一般认为,明末傅山所编的《两汉书姓名韵》是现存最早铅升的人名索引。清代乾嘉时期,章学诚曾力倡编纂群书综合索引。

20世纪20年代,随着西方索引理论与编制技术的传入,中国现代意义上的索引编槐祥老制与研究才蓬勃展开 。1930年钱亚新发表《索引和索引法》,1932年洪业发表《引得说》,标志着具有中国特色的现代索引理论、技术已迅速发展起来。

20世纪50年代,计算机技术被运用于索引编制 。此后,机编索引的大量出现,使索引编制理论、技术、索宴厅引载体形式发生了深刻变革。

SQL标准中没有涉及索引,但商用关系数据库管理系统一般都支持索引机制,只是不同的关系数据库管理系统支持的索引类型不尽相同。

索引已经成为关系数据库非常重要的部分。它们被用作包含所关心数据的表指针。通过一个索引,能从表中直接找到一个特定的记录,而不必连续顺序扫描这个表,一次一个地去查找。对于大的表,索引是必要的。没有索引,要想得到一个结果要等好几个小时、好几天,而不是几秒钟。

9. 网站索引量急速下降怎么办

导致网络索引量下降的常见原因:

1、配额再分配

同类数据量接近索引分配总额,配额量再分配,有升的就会有降的

解决:超过竞品,争取高额分配。

2、数据异常错误

A、错误惩罚

应对某类作恶行为而新算法上线,但由于蝴蝶效应,导致部分站点被错误惩罚而清除大量索引。

解决:反馈网络方,请求解除惩罚。

B、地区性数据异常

部分地区数据抓取或查询异常,导致误判站点情况而清除相应索引数据或输出错误索引量,如网络dns系统升级事件。

解决:反馈网络方,由网络检查各地蜘蛛执行情况。

C、接口调用数据错误、数据丢失、数据备份衍生异常

解决:反馈网络方,由网络检查相关数据情况。

网络网站索引量下降的原因及处理对策

一、内容数据所在的网址url未规范统一

1、自己站点url规范统一

多域名都可以200状态正常访问网页内容;一域名下出现多种url形式可以访问相同内容,如大小写url、url规则变更等。

解决:选择主域名(或主url),其他域名下的所有url都301重定向到主域名(或主url),并站长工具提交域名改版(或目录url改版)

2、外部平台使用己站数据

A、市场合作,站点数据调用到其他平台上;内容主动外发,推广人员完整转发自有内容到高质量平台——这两个原因都有可能导致搜索引擎收录了外部平台的内容而拒绝了搏巧原网站内容

解决:使用站长平台链接提交工具的者配主动推送功能,及时提交网站新出现的链接,延迟将内容调用到其他平台的时间;

B、被镜像,用户通过其他举办主体的域名或url直接可访问己方内容。

解决:关注域名解析安全和服务器安全;绑定唯一可解析的域名或唯一可访问的url;页面内容中链接使用绝对地址

站点受青睐度下降

3、网页内容相关

A、内容质量度下降

解决:提高内容质量度,详见网络站长学院相关内容;杜绝简单拷贝,多做整合信息。

B、更新量及频率下降

解决:稳定的更新频率,视内容发展情况,扩充编辑团队,生产更多新内容,让网站索引避免下降,持续增加。(当更新量及频率下降明显,那么配额就会下降,首先表现抓取频次下降,导致索引量下降)

C、时效性信息消失

解决:时效性的信息,大部分一般在数据库不会长期保留,所以需要持续挖掘新的时效信息点,整合相关内容。

D、部分区域出现不良信息

解决:杜绝大量外链软文、恶劣弹窗广告、非法敏感类信息、专门针对搜索引擎作弊的内容等

4、触犯惩罚算法

解决:关注站长工具消息和网络网页搜索动态。按官方公告说明来整改站点,并进行反馈,然后等待算法更新。

5、特型url不被信任

解决:定制各类url的索引查询规则;定位索引量下降的特型url;排查该类url当日、前一日、本周、历史索引情况;找出未被入库的数据可能存在的问题;处理完后,增强该类url与网络数据沟通(途径有sitemap、批量提交url、数据推送等)。

6、站点被搜索引擎信任度下降

A、非法投票嫌疑(链接工厂等)

解决:珍惜自己页面的投票权,对于劣质网页坚决不投票,尽量减少站点的导出链接。

B、主题变动(如从教育领域跨入医疗领域)

解决:将旧领域的网页进行死链处理后向网络进行提交,封禁相关旧url的被访问权,然后再上线新主题相关内容,加强对网络的数据提交

C、受牵连

相同ip下非法站点偏多,同一域名所有人举办的网站大都被惩罚且情况恶劣等

解决:离开恶邻,获取搜索引擎的各产品的相关反馈方式,请求给予解禁,等待恢复正常索引。

D、政策性原因

如香港主机、国外主机站点由于各种你懂的原因,稳定性可能基嫌键较差

解决:国内主机备案,合法符合政策经营

二、网页模板相关

1、主体内容区域对蜘蛛的限制

解决:取消登陆查看信息等限制,让蜘蛛便捷畅快的“采集”到己站数据

2、启用了对蜘蛛不友好的技术

解决:对需要蜘蛛识别的内容,不要启用对蜘蛛不友好的技术来调用。

3、响应式模板干扰蜘蛛识别页面类型(pc、移动)

解决:提交特定的url对应关系(尽量parrten级);meta标记移动版本url及适合浏览的设备;自主适配;增强pc、移动不同模板源码标签的区分度,帮助网络识别页面类型

三、源码相关

1、源码错误较严重,如编码错误、标签使用错误等;源码改动严重,蜘蛛“采集”数据后重新观察分析;某类url下的TD(网页title、description)变化,如变化比例大、变化页面量大,页面进行更改后会重走建索引库流程,如果页面质量达不到建索引库标准会从线上消失

解决:校验源码,准确的源码是蜘蛛“采集”数据进行分析的基础;link内链结构、url地址形式、页面主题、页面各区域html标记等尽量维持改动前的情况;逐步、分期更换TD(网页title、description),结合页面主题、用户实际需求来制定合理的TD,不欺骗不误导用户。

已入库的url对蜘蛛状态有变化

2、robots声明,禁止蜘蛛抓取

解决:查看网络站长工具robots及抓取情况。

3、url规则变化,原有url无法访问

解决:特别是linux和win服务器之间的数据迁移,可能会出现大小写url支持变化,确保各类url规则不变化。url必须重构的时候,做好旧新url301重定向,站长工具提交改版需求。

4、提示错误页面

解决:由于误删,则可以数据恢复,并维持url对应网页内容的更新变化,提高抓取频次。如果确定要删除,那么提交死链,删除死链后,再robots禁止,这种情况的索引下降无需担忧。

5、被入侵

解决:防止url对蜘蛛进行非法跳转操作;防止url对应的网页内容对蜘蛛出现内容大变化,特别是一些违法乱纪的内容

四、DNS、服务器问题

1、DNS问题

dns不稳定;dns不安全

解决:选择可靠的dns服务;沟通强调对蜘蛛的稳定性;防止dns解析到非正常ip;防止解析的网站ip频繁变动。防止dns管理漏洞,导致被恶意解析;防止dns解析挂靠在小代理等技术能力、管理规范、道德法律约束都欠缺的平台上。

2、服务器问题

A、可访问性差

解决:尽量让目标地区所有运营商来路的用户都能在3秒内打开网站,最佳1秒内;监控网站运行状态,合理设置目标地区的所有运营商监控节点及监控项目、监控频率

B、屏蔽网络ua或ip

解决:多利用网络站长工具,查看网络抓取网页的情况,可见http://bbs.zhanzhang..com/thread-15392-1-3.html

C、防刷压力值设定

解决:将蜘蛛解析到专用空间;如出现访问陡增的ip,查看是否为蜘蛛再确定是否禁止访问。

热点内容
广东这段时间为什么老是停电 发布:2025-01-10 16:34:47 浏览:783
为什么国产手机没有47寸屏 发布:2025-01-10 16:33:23 浏览:169
为什么喝了苹果醋也打嗝 发布:2025-01-10 16:33:21 浏览:106
侵华日军军服为什么不一样 发布:2025-01-10 16:08:59 浏览:890
为什么女生不愿意和男生来往 发布:2025-01-10 15:48:37 浏览:444
为什么鸡头米有两种颜色 发布:2025-01-10 15:32:25 浏览:300
为什么拼多多里面的手机比较便宜 发布:2025-01-10 15:30:05 浏览:163
为什么恋爱中男生喜欢多想 发布:2025-01-10 15:22:16 浏览:230
晚上为什么有探照灯往天上照 发布:2025-01-10 15:02:10 浏览:390
为什么文件会变成系统 发布:2025-01-10 14:47:35 浏览:608