中易网

SQL中创建索引的"索引"是什么意思啊?

答案:1  悬赏:40  
解决时间 2021-02-16 06:17
SQL中创建索引的"索引"是什么意思啊?
最佳答案
索引用来快速地寻找那些具有特定值的记录,所有MySQL索引都以B-树的形式保存。如果没有索引,执行查询时MySQL必须从第一个记录开始扫描整个表的所有记录,直至找到符合要求的记录。表里面的记录数量越多,这个操作的代价就越高。如果作为搜索条件的列上已经创建了索引,MySQL无需扫描任何记录即可迅速得到目标记录所在的位置。如果表有1000个记录,通过索引查找记录至少要比顺序扫描记录快100倍。假设我们创建了一个名为people的表:CREATE TABLE people ( peopleid SMALLINT NOT NULL, name CHAr(50) NOT NULL );然后,我们完全随机把1000个不同name值插入到people表。下图显示了people表所在数据文件的一小部分:可以看到,在数据文件中name列没有任何明确的次序。如果我们创建了name列的索引,MySQL将在索引中排序name列:对于索引中的每一项,MySQL在内部为它保存一个数据文件中实际记录所在位置的“指针”。因此,如果我们要查找name等于“Mike”记录的peopleid(SQL命令为“SELECt peopleid FROM people WHERe name='Mike';”),MySQL能够在name的索引中查找“Mike”值,然后直接转到数据文件中相应的行,准确地返回该行的peopleid(999)。在这个过程中,MySQL只需处理一个行就可以返回结果。如果没有“name”列的索引,MySQL要扫描数据文件中的所有记录,即1000个记录!显然,需要MySQL处理的记录数量越少,则它完成任务的速度就越快。

满意请采纳
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
3m魔魅定制工作室地址在哪,我要去那里办事
我的学校写话是什么(作文怎么写
赛维干洗(洪湖园南)地址好找么,我有些事要过
澳洁绿色干洗(金泰翡翠华庭西商铺19到20号澳
啡域咖啡地址在什么地方,我要处理点事
格子水吧地址在哪,我要去那里办事
花容道美颜健康生活体验馆地址在哪,我要去那
尘色地址有知道的么?有点事想过去
艺术风尚地址在什么地方,我要处理点事
游目咖啡馆地址有知道的么?有点事想过去
向尚咖啡(嘉信茂店)地址好找么,我有些事要过
伊人养生会所地址好找么,我有些事要过去
凯源咖啡茶楼地址在什么地方,我要处理点事
品和咖啡地址在哪,我要去那里办事
安琪丽可美甲东方厉剪美发养发(怀柔店)地址好
推荐资讯
出马仙能看见阴间人吗
帝歌健身房地址在什么地方,想过去办事
中大彩色文印(少年宫店)地址好找么,我有些事
康源综合商店地址在哪,我要去那里办事
噜甲便当文昌店地址在什么地方,想过去办事
管道打压规范及要求?
底迪是什么意思?
一出大门扬了一把沙的歌词
新昌县新世纪汽车维修有限公司地址有知道的么
怎么彻底地删除已安装的altium desgner summe
步步高x6来电图像怎么设置
有谁知道石家庄四监狱的生活情况,我有朋友刚
手机登qq时,显示手机磁盘不足,清理后重新登
刺客的套装怎么选啊?