首页 > 编程语言 >php面试题:一张表中,id 是主键索引,name是普通索引,下列语句都只取一条,分别有什么不同

php面试题:一张表中,id 是主键索引,name是普通索引,下列语句都只取一条,分别有什么不同

时间:2023-06-13 15:00:47浏览次数:48  
标签:面试题 name smith 索引 MySQL where 主键


一张表中,id 是主键索引,name是普通索引,下列语句都只取一条,分别有什么不同

select * from table_name where name='smith'

select * from table_name where id=1

考查普通索引与主键索引的运行机制。
主键索引=唯一索引+非空约束,优先级高于普通索引

索引运行机制:
对于索引中的每一项,MySQL在内部为它保存一个数据文件中实际记录所在位置的“指针”。因此,如果我们要查找name等于“smith”的记录(SQL命令为select * from table_name where name='smith'),MySQL能够在name的索引中查找“smith”值,然后直接转到数据文件中相应的行,准确地返回该行的所有列)。在这个过程中,MySQL只需处理一个行就可以返回结果。如果没有“name”列的索引,MySQL要扫描数据文件中的所有记录!显然,需要MySQL处理的记录数量越少,则它完成任务的速度就越快

普通索引是二级索引
主键索引查找快,还是二级索引快?感觉这个问题应该分引擎回答,如果是MyISAM中,主键索引和二级索引是一样快的,在InnoDB中,主键索引快,因为二级索引找到主键后,还要在主键索引中再找一遍。

参考资料:http://m.nowcoder.com/discuss/68748?type=0&pos=17


标签:面试题,name,smith,索引,MySQL,where,主键
From: https://blog.51cto.com/u_16159391/6470233

相关文章

  • 文章索引
    VIM每天一个vim小技巧[1]-重复段落的复制,标号的递增每天一个vim小技巧[2]-多行游标编辑每天一个vim小技巧[3]-搜索并替换当前光标处的字每天一个vim小技巧[4]-导入模板Vivado/ModelsimLinux/PerlOFDMcomm/DSP问题总结......
  • ES学习笔记--索引库的操作
    mapping属性mapping是对索引库中文档的约束,常见的mapping属性包括:type:字段数据类型,字符串:text(可分词的文本),keyword(精确值,例如:品牌,国家,IP地址)数值:long,integer,short,byte,double,float布尔:boolean日期:date对象:objectindex:是否......
  • 通用搜索引擎背后的技术点
    垂直搜索引擎垂直搜索又称为垂搜,是特定领域的搜索,比如用QQ音乐搜周杰伦的歌等。 2.2搜索和推荐搜索和推荐经常被相提并论,但是二者存在一些区别和联系。共同点宏观上来说,搜索和推荐都是为了解决用户和信息之间的隔离问题,给用户有用的/需要的/喜欢的信息。区别点搜索一般是用户主动......
  • 最近面试题
    面试题1.业务流程的测试点2.考虑哪些异常场景3.余额怎么看4.余额存在网站上吗?5.产品出货你关吗?6.自动化怎么做的7.文本会检查哪些东西8.有没有检查过数据库9.做自动化时不会自动检查数据库吗?10.接口测试测什么11.怎么考虑接口案例12.接口案例是自己设计的吗?13.检查接......
  • 计算机体系结构面试题
    1、请解释什么是指令级并行(Instruction-LevelParallelism,ILP)并提供一个示例说明? 在计算机体系结构中,指令级并行是指同时执行多个计算机指令的能力,以提高程序的执行速度。这种并行性的实现通常涉及到在单个指令流中发现和执行多个独立指令的方法。示例:假设有以下三个指令:ADD......
  • 1009道面试题,想刷完,要多久?
    我的面试题网站,目前已更新到1009题了,今天对所有题目做一个汇总(后续还会继续优化,继续完善):Redis的数据类型有哪些?请简述一下JVM的内存模型说说堆和栈的区别说说你对CAP的理解你知道哪些分布式事务解决方案?什么是二阶段提交?什么是HTTP?HTTP的作用是什么?说说HTTP的优点和缺点什么是长......
  • java刷题网站最近更新的面试题
    49个人中至少几个人生日是同一月?如何用3升和5升桶量取4升水?JVM逃逸分析默认是开启还是关闭?ZGC有缺点吗?JVM对Java的原生锁做了哪些优化?为什么wait(),notify()和notifyAll()必须在同步方法或者同步块中被调用?什么是锁消除和锁粗化?为什么代码会重排序?什么是自旋?你们线程池是怎......
  • C++面试题
    1、当使用C++编写代码时,有一个常见的问题是如何在子类中调用父类的构造函数。下面是一个相关的C++面试题:题目:假设有一个基类Animal,其中包含一个带参数的构造函数和一个公共成员函数display()。请编写一个派生类Dog,继承自Animal,并实现自己的构造函数和display()函数。要求:Dog......
  • 第四天打卡|24. 两两交换链表中的节点 ● 19.删除链表的倒数第N个节点 面试题 02.07.
    24.两两交换链表中的节点:简单的交换 19.删除链表的倒数第N个节点: ●  面试题 02.07. 链表相交:这题没看过答案真的写不出来。太巧妙了  142.环形链表II:这题写过但是忘记怎么解的了还是看的答案。下次不能忘记  ......
  • Lucene--开放源代码的全文检索引擎工具包
    Lucene是apache软件基金会4jakarta项目组的一个子项目,是一个开放源代码的全文检索引擎工具包,即它不是一个完整的全文检索引擎,而是一个全文检索引擎的架构,提供了完整的查询引擎和索引引擎,部分文本分析引擎(英文与德文两种西方语言)。Lucene的目的是为软件开发人员提供一个简单易用的......