首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

【21】进大厂必须掌握面试题-65个SQL面试

例如–客户名称与客户帐号和联系信息相关,它们可能在同一。各个之间也可能存在关系(例如,客户到帐户)。 Q18。什么是指数? 索引是一种性能调整方法,它允许更快地检索记录。...交叉联接产生两个叉积或笛卡尔积,而自然联接基于两个具有相同名称和数据类型所有。 Q28。什么是SQL子查询? 子查询是另一个查询查询,其中定义了查询以数据库检索数据或信息。...相关子查询:这些查询外部查询引用选择数据。它不被视为独立查询,因为它引用另一个并引用一个。 不相关子查询:此查询是一个独立查询,主查询替换了子查询输出。 Q30。...约束有两个级别,即: 级约束 级约束 Q44。如何两个获取公用记录? 您可以使用INTERSECT两个获取公用记录。...有很多方法可以字符串中提取字符。例如: 学生中选择SUBSTRING(StudentName,1,5)作为学生名 Q53。SQL和PL / SQL之间主要区别是什么

6.3K22

【22】进大厂必须掌握面试题-30个Informatica面试

6.如何提高木匠转换性能? 下面是改善Joiner Transformation性能方法。 尽可能在数据库执行联接。 某些情况下,这是不可能,例如从两个不同数据库或平面文件系统联接。...永久缓存 默认情况下成功完成各个会话后,将删除查找缓存,但是我们可以配置为保留缓存,以备下次使用。 共享缓存 我们可以多个转换之间共享查找缓存。我们可以同一映射中转换之间共享未命名缓存。...插入:–选择此选项可在目标插入一行。 删除:–选择此选项可从删除行。 更新:-在这种情况下,您有以下选择: 作为更新进行更新:–如果目标存在每行,则更新标记为要更新行。...“查找”目标获取数据,并仅将CUSTOMER_ID端口源发送到查找。 ? 给出如下查询条件: ? 然后,将其余源发送到一个路由器转换。 ?...路由器创建两个组,并给出如下条件: ? 对于新记录,我们必须生成新customer_id。为此,请使用一个序列生成器,并将下一连接到表达式。

6.5K40
您找到你想要的搜索结果了吗?
是的
没有找到

SQL高级查询方法

子查询例子可以参考笔试题中例子,SQL笔试50题(上),SQL笔试50题(下) 4.9 联接 join 通过联接,可以两个或多个根据各个之间逻辑关系来检索数据。...联接条件可通过以下方式定义两个查询关联方式: 指定每个要用于联接。典型联接条件一个中指定一个外键,而在另一个中指定与其关联键。...联接条件与 WHERE 和 HAVING 搜索条件相结合,用于控制 FROM 子句所引用中选定行。 比如下列联接因为是内部联接,因此也可以改写为WHERE条件中指定联接。...左向外部联接结果集包括 LEFT OUTER 子句中指定所有行,而不仅仅是联接所匹配行。如果左某一行没有匹配行,则在关联结果集行,来自右所有选择列表列均为空值。...join_condition 定义用于对每一对联接行进行求值谓词(比较运算符或关系运算符)。 当 SQL Server 处理联接时,查询引擎会多种可行方法选择最有效方法来处理联接。

5.7K20

Hbase面试题(面经)整理

范围越小,性能越高; 3. scan 可以通过 setFilter 方法添加过滤器,这也是分页、多条件查询基础。 3.全扫描,即直接扫描整张中所有行记录。 8....默认情况下,执行写入时会写到两个地方:预写式日志(write-ahead log,也称 HLog)和 MemStore。HBase 默认方式是把写入动作记录在这两个地方,以保证数据持久化。...大概步骤为: zookeeper获取.ROOT.位置信息,zookeeper存储位置为/hbase/root-region-server; 根据.ROOT.中信息,获取.META.位置信息...原因如下:数据写到store以后是先缓存在memstore同一个region存在多个族则存在多个store,每个store都一个memstore,当其实memstore进行flush时,属于同一个...为什么不建议 HBase 中使用过多 Hbase ,每个族对应 Region 一个Store,Region大小达到阈值时会分裂,因此如果中有多个族,则可能出现以下现象: 一个

1.3K30

【建议收藏】MySQL 三万字精华总结 —锁机制和性能调优(四)

需要强调一点是,InnoDB 中行级锁是基于索引实现,临键锁只与非唯一索引列有关,唯一索引(包括主键)上不存在临键锁。 对于行查询,都是采用该方法,主要目的是解决幻读问题。...死锁 死锁产生: 死锁是指两个或多个事务同一资源上相互占用,并请求锁定对方占用资源,从而导致恶性循环 当事务试图以不同顺序锁定资源时,就可能产生死锁。...= 则不行,会导致全扫描 一般性建议 对于单键索引,尽量选择针对当前query过滤性更好索引 选择组合索引时候,当前Query过滤性最好字段索引字段顺序,位置越靠前越好。...选择组合索引时候,尽量选择可以能够包含当前querywhere字句中更多字段索引 尽可能通过分析统计信息和调整query写法来达到选择合适索引目的 少用Hint强制索引 查询优化 永远小标驱动大...不管存储哪种类型数据,下面几个简单原则都有助于做出更好选择。 更小通常更好:一般情况下,应该尽量使用可以正确存储数据最小数据类型。 简单就好:简单数据类型通常需要更少CPU周期。

87410

NoSQL —— 哪个更适合你数据?

数据是数据科学所有子领域支柱。无论你正在构建建筑物大小或应用如何,你都需要获取和分析数据。大多数情况下,你需要这些数据都存储DBMS(数据库管理系统)。...让我们最开始说起。为什么我们有两种与数据库交互方法? 简单来说,SQL和NoSQL与不同类型数据库交互。SQL是用于与关系数据库交互方法,而NoSQL是用于与非关系型数据库交互方法。...我可以用飞行员ID来访问飞行员中有关飞行员信息以及航班该飞行员正在处理航班信息。...1 r2I2zlm5bmvfs9UHWqTF-A.png 因此,飞行员,PoilotId是主键;而在航班,它是外键。PilotId在此用于形成两个之间关系。...因此,对于初学者来说,SQL开始,然后转向NoSQL可能是最佳选择。 根据经验,如果你正在处理RDBMS(关系数据库管理系统),你想分析数据行为或构建自定义仪表盘,则SQL是更好选择

2K74

这是我见过最有用Mysql面试题,面试了无数公司总结(内附答案)

SELECT:数据库中选择特定数据 INSERT:将新记录插入 UPDATE:更新现有记录 DELETE:删除现有记录 15. SQL中有哪些不同DCL命令?...数据库查询可以是选择查询或动作查询。 24.什么是子查询? 子查询是另一个查询SQL查询。它是Select语句子集, 其返回值用于过滤主查询条件。 25.子查询类型是什么?...复合主键是多个(多个字段组合)上创建主键。 42.什么是外键? 一个FOREIGN KEY是用于两个连接在一起关键。...假设中有一个字段是可选,并且可以不向可选字段添加值情况下插入记录 则该字段将以NULL值保存。 46. NULL值,零和空白之间有什么区别?...SQL SELECT顺序是什么? SQL SELECT语句顺序如下 选择,在哪里,分组依据,拥有,订购依据。 89.如何在SQL显示当前日期?

27K20

2020年MySQL数据库面试题总结(50道题含答案解析)

UNIX_TIMESTAMP 是 MySQL 时间戳转换为 Unix 时间戳命令 FROM_UNIXTIME 是 Unix 时间戳转换为 MySQL 时间戳命令 11、对比运算符是什么?...因此,在这种情况下,能被存储 salary 范围是-9999999.99 到9999999.99。 23、MySQL 有关权限都有哪几个?...索引可以极大提高数据查询速度,但是会降低插入、删除、更新速度,因为执行这些写操作时,还要操作索引文件。 32、数据库事务是什么?...外连接  其结果集中不仅包含符合连接条件行,而且还会包括左、右两个所有数据行,这三种情况依次称之为左外连接,右外连接,和全外连接。...(选择几条) (1)Where 子句中:where 之间连接必须写在其他 Where 条件之前,那些可以过滤掉最大数量记录条件必须写在 Where 子句末尾.HAVING 最后。

3.8K20

MySQL 给你问懵了?50 道 MySQL 高频面试题详解来了

UNIX_TIMESTAMP 是 MySQL 时间戳转换为 Unix 时间戳命令 FROM_UNIXTIME 是 Unix 时间戳转换为 MySQL 时间戳命令 11、对比运算符是什么?...因此,在这种情况下,能被存储 salary 范围是-9999999.99 到9999999.99。 23、MySQL 有关权限都有哪几个?...索引可以极大提高数据查询速度,但是会降低插入、删除、更新速度,因为执行这些写操作时,还要操作索引文件。 32、数据库事务是什么?...外连接 其结果集中不仅包含符合连接条件行,而且还会包括左、右两个所有数据行,这三种情况依次称之为左外连接,右外连接,和全外连接。...(选择几条) (1)Where 子句中:where 之间连接必须写在其他 Where 条件之前,那些可以过滤掉最大数量记录条件必须写在 Where 子句末尾.HAVING 最后。

2.6K11

【建议收藏】MySQL 三万字精华总结 —锁机制和性能调优(四)「建议收藏」

死锁 死锁产生: 死锁是指两个或多个事务同一资源上相互占用,并请求锁定对方占用资源,从而导致恶性循环 当事务试图以不同顺序锁定资源时,就可能产生死锁。...不损失精确性情况下,长度越短越好 key_len显示值为索引字段最大可能长度,并非实际使用长度,即key_len是根据定义计算而得,不是通过内检索出 ref(显示索引哪一被使用了...函数、(自动or手动)类型转换),会导致索引失效而转向全扫描 存储引擎不能使用索引范围条件右边 尽量使用覆盖索引(只访问索引查询(索引和查询一致)),减少select is...= 则不行,会导致全扫描 一般性建议 对于单键索引,尽量选择针对当前query过滤性更好索引 选择组合索引时候,当前Query过滤性最好字段索引字段顺序,位置越靠前越好。...不管存储哪种类型数据,下面几个简单原则都有助于做出更好选择。 更小通常更好:一般情况下,应该尽量使用可以正确存储数据最小数据类型。 简单就好:简单数据类型通常需要更少CPU周期。

79730

致BI用户: 性能调优诀窍了解一下,让报表快起来

比如亿信ABI,同样一个查询需求,为什么别人计算结果获取时间1分钟变成3秒钟?可能是你不知道ABI具有性能调优精髓所在。...为了解决广大BI工程师调优难题,今天SQL个数和过滤条件两个方面来跟大家分享一下,亿信ABI性能调优小诀窍。...截图如下所示: 小诀窍之二:优化过滤条件,善用索引 亿信ABI分析过滤条件报表计算时都会转换成SQL语句中where条件大数据量情况下,where条件不够优化,会直接导致SQL语句运行效率低下...举例如下: 优化前: 主题ESEN_BIpid上有索引,原过滤条件写法为: left(ESEN_BI.pid,1)>='1' and left(ESEN_BI.pid,1)<='3' 由于列上用了...,赶紧拿出你小本本记下来吧: 索引列上使用函数时不会使用索引,如果一定要使用索引,建议建立函数索引; 索引中有NULL值时,数据库查询不会走索引; 如果需要排序时,尽量根据已建立索引排序; 如果发现过滤条件和排序所需要没有索引时

81120

一个执行计划异常变更案例 - 外传之绑定变量窥探

如上SQL使用是字面值或常量值作为检索条件,接下来我们使用绑定变量方式来执行SQL,为了更好地说明,此处我们先关闭绑定变量窥探(默认情况下,是开启状态),他是什么我们稍后再说。 ?...发现仍旧是全扫描,我们之前知道B值记录只有一条,应该使用索引范围扫描,而且这两个SQL执行计划Rows、Bytes和Cost值完全一致。...总结来说,绑定变量窥探会于第一次硬解析时候,“窥探“绑定变量值,进而根据该值信息,辅助选择更加准确执行计划,就像上述示例第一次执行A为条件SQL,知道A值占比重接近全数据量,因此选择了全扫描...但若绑定变量分布不均匀,则绑定变量窥探副作用会很明显,第二次以后每次执行,无论绑定变量是什么,都会仅使用第一次硬解析窥探参数值,这就有可能选择错误执行计划,就像上面这个实验说明,第二次使用...简而言之,数据分布不均匀使用绑定变量,尤其11g之前,受绑定变量窥探影响,可能会造成一些特殊值作为检索条件选择错误执行计划。

57530

『数据库』数据库查询可不是只知道Select就可以--关系数据库系统查询处理

(s),检索内层循 环(SC)每一个元组(sc) 检查这两个元组连接属性(Sno)上是否相等 如果满足连接条件,则串接后作为结果输出,直到外 层循环元组处理完为止。...(probing phase,也称为连接阶段join phase) 对另一个(SC)进行一遍处理 把SC元组也按同一个hash函数(hash码是连接属性)进 行散 把SC元组与桶来自Student...并与之相匹配元组连接起来 关系数据库系统查询优化 查询优化关系数据库系统中有着非常重要地位 关系查询优化是影响关系数据库管理系统性能关键因素 由于关系表达式语义级别很高,使关系系统可以关系表达式中分析查询语义...3.查询优化优点 用户不必考虑如何最好地表达查询以获得较好效率 系统可以比用户程序“优化”做得更好 (1)优化器可以数据字典获取许多统计信息,而用户程序则难以获得这些信息。...物理优化就是要选择高效合理操作算法或存取路径,求得优化查询计划 物理优化方法 基于规则启发式优化 启发式规则是指那些大多数情况下都适用,但不是每种情况下都是适用规则。

1.2K20

1w字MySQL索引面试题(附md文档)

优点: 数据访问更快 ,因为索引和数据保存在同一个B+树,因此聚簇索引获取数据比非聚簇索引更快。 聚簇索引对于主键排序查找和范围查找速度非常快。...页34和35定位到具体记录。 但是这个B+树叶子节点只存储了c2和c1(主键)两个,所以我们必须再根据主键值去聚簇索引再查找一遍完整用户记录。...所需获得中有大量非索引,索引就需要到中找到相应信息,这就叫回。...总结: 未开启索引下推: 根据筛选条件索引树筛选第一个条件 获得结果集后回操作 进行其他条件筛选 再次回查询 开启索引下推:条件查询时,当前索引树如果满足全部筛选条件,可以在当前树完成全部筛选过滤...主键(唯一索引)匹配 全值匹配(单值匹配) 最左前缀匹配 范围匹配 索引扫描 全扫描 一般性建议 Ø 对于单键索引,尽量选择过滤性更好索引(例如:手机号,邮件,身份证) Ø 选择组合索引时候,过滤性最好字段索引字段顺序

25520

架构面试题汇总:mysql索引全在这!(五)

MySQL,B树(特别是InnoDB存储引擎使用B+树)是索引常用数据结构。 问题2:MySQL中有哪些类型索引?它们各自优势和劣势是什么?...这通常发生在查询所有都包含在索引情况下。 考虑索引顺序:索引顺序很重要。应将查询中最常用作搜索条件、过滤条件或排序条件放在索引前面。...因此,设计复合索引时,应确保索引顺序与查询条件顺序相匹配。 选择性和基数考虑:选择复合索引时,应考虑选择性和基数。...在这种情况下,全扫描可能更快。 缓存影响:如果数据已经被加载到内存(例如,InnoDB缓冲池中),那么全扫描可以直接内存读取数据,速度非常快。...某些情况下,完整索引可能提供更好查询性能和精确性。因此,选择使用前缀索引还是完整索引时,应根据具体查询需求、数据分布和性能要求进行评估和测试。

11810

Mysql面试题

MyISAM Static受损情况下更容易恢复。 9. 如果一个有一定义为 TIMESTAMP,将发生什么? 每当行被更改时,时间戳字段将获取当前时间戳。 10....索引可以极大提高数据查询速度,但是会降低插入、删除、更新速度,因为执行这些写操作时,还要操作索引文件。 25. 数据库事务是什么?...外连接 其结果集中不仅包含符合连接条件行,而且还会包括左、右两个所有数据行,这三种情况依次称之为左外连接,右外连接,和全外连接。...触发器也可以被用来限制数据库表格里字段能够接受值,但是这种办法要求触发器表格里被定义,这可能会在某些情况下影响到性能。 37. 说说对SQL语句优化有哪些方法?...(选择几条) Where子句中:where之间连接必须写在其他Where条件之前,那些可以过滤掉最大数量记录条件必须写在Where子句末尾.HAVING最后。

1.1K51

MySQL性能优化(四):如何高效正确使用索引

索引选择性是指,不重复索引值(也称为基数)和数据记录总数T比值,范围1/T到1之间。索引选择性越高,则查询效率越高,因为选择性高索引可以让MySQL查找时过滤掉更多行。...2)当需要对多个索引做联合操作室(通常有多个OR条件),通常需要耗费大量CPU和内存资源算法缓存、排序和合并操作上。特别是当其中有些索引选择性不高,需要合并扫描返回大量数据时候。...然而性能不只是依赖于所有索引选择性,也和查询条件具体值有关,也就是和值分布有关(需要根据那些运行频率最高查询来调整索引顺序,让这种情况下索引选择性最高)。...聚簇索引把索引和数据都放在同一个B-Tree,因此聚簇索引获取数据比非聚簇索引要快。 使用覆盖索引扫描查询可以直接使用页节点中主键值。...可以通过写一些复杂访问information_schema查询来找,不过还有两个更简单方法就是使用Shlomi Noachcommon_schema一些视图来定位(common_schema

1.9K20

AnalyticDB_分布式分析型数据库

LM 计算引擎下,关联充要条件(四原则)如下: 两个均为事实同一组,或两个中有一个是维度两个均为事实且拥有相同一级分区,或两个中有一个是维度。...两个均为事实且关联条件(ON)至少含有一个条件两个各自分区等值关联条 件,或两个中有一个是维度。 关联条件(ON)条件两端包含有效HashMap索引。...MPP计算引擎下,关联加速运行条件如下: 两个均为事实同一组,或两个中有一个是维度两个均为事实且拥有相同一级分区,或两个中有一个是维度。...两个均为事实且关联条件(ON)至少含有一个条件两个各自分区等值关联条 件,或两个中有一个是维度。...5.2 数据导入-MaxCompute导入到ADS库 ​ DMS For AnalyticDB 控制台,选择菜单栏导入导出 > 导入。 ​

1.6K20

PHP经典面试题合集

一般情况下,要删除一张主键必须首先要确保其它没有相同外键(即该主键没有一个外键和它相关联)。 索引(index) 是用来快速地寻找那些具有特定值记录。...InnoDB:所有的都保存在同一个数据文件(也可能是多个文件,或者是独立空间文件),InnoDB大小只受限于操作系统文件大小,一般为2GB。...6、 锁差异 MyISAM:只支持级锁,用户操作myisam时,select,update,delete,insert语句都会给自动加锁,如果加锁以后满足insert并发情况下,可以尾部插入新数据...10、 CURD操作 MyISAM:如果执行大量SELECT,MyISAM是更好选择。 InnoDB:如果你数据执行大量INSERT或UPDATE,出于性能方面的考虑,应该使用InnoDB。...A B C三,用SQL语句实现:当A大于B选择A否则选择B,当B大于C选择B否则选择C

1.3K20
领券