佳礼资讯网

 找回密码
 注册

ADVERTISEMENT

查看: 1004|回复: 6

不明白SQL index的重要性,请前辈解释.

[复制链接]
发表于 18-10-2008 02:50 AM | 显示全部楼层 |阅读模式
我看了一些文章...
说到SQL index好像很重要...
不过又人说index不适合放在常update的table...
那么index其实用处是什么?
只是加快找资料的速度?
还是有什么特别的因素,所以要用index?

我没有用过,想对这个有多点了解...
请前辈慷慨解释
回复

使用道具 举报


ADVERTISEMENT

发表于 18-10-2008 11:08 AM | 显示全部楼层
当你的资料存进资料库时,是没有进行排序的,而是根据你输入的次序而储存的。INDEX的作用就是把这些不顺序的资料给整理出一个次序来,然后当你读取资料时,资料库引擎就会根据INDEX里面的排序找出实际资料的位子,从而快速的找到你要的资料。
回复

使用道具 举报

发表于 18-10-2008 11:39 AM | 显示全部楼层
拿查询电话簿的例子来说,通常你都会通过Index (A-Z/1-9)来查询某个电话,这是最快捷的方法。
同样的,DB也可以透过这个方法来更快速地查询资料,若是没有Index的话,查询起来就很吃力了;举个例子,若是你要从一个没有Index的Field内查询"Mandy"这个关键词,DB需要阅读每一个记录才能得到结果,就好像你要翻遍整本电话簿才能查到你要的联络号码。
回复

使用道具 举报

 楼主| 发表于 18-10-2008 01:27 PM | 显示全部楼层
哦哦,明白.
可是为什么有人说假如某些table是keep update...
就不适合用index???
回复

使用道具 举报

发表于 18-10-2008 01:37 PM | 显示全部楼层
因为频密更新的table会导致资料库引擎必须频密的更新INDEX,这包括分析所有的资料以找出新的资料应该排在哪一个位置,这是十分耗时的。
回复

使用道具 举报

 楼主| 发表于 18-10-2008 04:30 PM | 显示全部楼层
哦哦哦,所以一些类似有算total visitor 或 counter的table就不适合了?
明白...
谢谢~~
回复

使用道具 举报

Follow Us
发表于 18-10-2008 10:19 PM | 显示全部楼层
假设你的Table只有区区的200个Records,有无Index都无所谓。

假设你的Table有200万(2,000,000)个Records,Index的功力就显得非常重要。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

 

ADVERTISEMENT



ADVERTISEMENT



ADVERTISEMENT

ADVERTISEMENT


版权所有 © 1996-2023 Cari Internet Sdn Bhd (483575-W)|IPSERVERONE 提供云主机|广告刊登|关于我们|私隐权|免控|投诉|联络|脸书|佳礼资讯网

GMT+8, 22-12-2025 02:47 PM , Processed in 0.136822 second(s), 25 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表