如题,搜索到的资料定义多为“一、什么是索引?索引用来快速地寻找那些具有特定值的记录,所有MySQL索引都以B-树的形式保存。如果没有索引,执行查询时MySQL必须从第一个记录开始扫描整个表的所有记录,直至找到符合要求的记录。表里面的记录数量越多,这个操作的代价就越高。如果作为搜索条件的列上已经创建了索引,MySQL无需扫描任何记录即可迅速得到目标记录所在的位置。如果表有1000个记录,通过索引查找记录至少要比顺序扫描记录快100倍。”我不太理解,在我不知道索引的概念之前,搜索时例如 SELECT * from tablename where id = 1 我这样不是以经指定只搜索列 id = 1了吗,数据库中还让字段属性为索引有什么别的功能吗?我真是理解不了,所谓的“如果作为搜索条件的列上已经创建了索引,MySQL无需扫描任何记录即可迅速得到目标记录所在的位置”与 where id=1 有何区别?求详细解,奉上96分为谢!
解决方案 »
- 求mysql语法如何创建多级目录?
- 可否用存储过程来做这件事?
- 快来抢购印有MySQL、PostgreSQL、Java、Linux的Logo的文件衫!
- postgresql中有没有像SQL SERVER中的ntext,nchar,nvarchar这样的unicode行的数据类型???
- 关于select语句在pb中的应用(急!)
- 怎样利用PHP和MYSQL建一个论坛
- win2000 server 下能不能装apache,和mysql?
- 求教个问题,不知道方法正确与否,请指点一下
- 学习MySQL用哪个版本的Linux更方便?
- 奇怪的mysql的死锁问题
- 如何在DOS下使用net start mysql 命令
- mysql链接数据库
可以有多种办法。
1:一页页的翻,一个个字的比较,直到找到“熙”。
2:从目录找,找X开头的,然后再找XI开头的。你觉得哪种方法效率高呢??
1就是全字典扫描。2就是索引扫描。