求sql常考面试题
发布网友
发布时间:2022-04-22 14:34
我来回答
共3个回答
热心网友
时间:2022-04-07 19:48
排序顺序会影响系统性能吗?
问:一些资料介绍说,在SQL Server 6.5中,排序方式会对系统性能造成影响,但是我并没有发现有针对SQL Server 2000或SQL Server 7.0的类似说法。我想知道二分法检索对SQL Server 2000程序到底有何意义。SQL Server 2000所支持的各种排序方式之间在执行性能上存在哪些差异呢?
答:请记住:各类排序方式间的性能差异受制于SQL Server在数据排序和数据比较上所花费的CPU周期数量。排序速度快并不代表性能就一定会得到改善。事实上,选择较为“快速”的排序方法(例如二分法)可能会导致应用程序在其它方面的性能降低。
例如,假设您有一个查询,该查询通过last_name字段进行搜索。二分法排序的规则规定:Smith 并不等于smith。您的应用程序开发人员可以通过要求所有数菥笮葱问交蛐⌒葱问嚼词迪终飧鲆滴衤呒5牵导实慕饩霭旆ㄊ嵌运阉鞅碇械乃惺菔褂肬PPER() 或者 LOWER() 函数。但不幸的是, 如果类似UPPER()这样的函数对一个经过索引的列进行了操作,SQL Server将不再能够使用索引搜索数据。在这种情况下,通过使用二分法所获得的所有性能提升都将被花费在全表扫描上的巨大性能降低所抵消。所以,您无需考虑不同排序方法间可能存在的微小性能差异,您也无需费神考虑何种排序方法最能满足程序开发人员和最终用户的需要。
— SQL Server MVPs
--------------------------------------------------------------------------
日志文件的增长和DBCC DBREINDEX
问:我有一个30GB的数据库,我使用完全恢复模式。无论什么时候,只要我使用数据库一致性检查程序(DBCC)语句DBCC DBREINDEX对特定的大型数据表进行重新索引,我都要将恢复模式改为Bulk_Logged,在重新索引过程完成后再改回完全模式。我希望这样做能够避免事务日志文件急剧增长,但是随后的日志文件备份工作量却非常大--有大约15GB。从逻辑上说,数据库中的数据在重新索引后同原先并没有什么不同,只是索引重新进行了组织,那么为什么日志文件还是那样大呢?我怎样才能避免日志文件出现这样的急剧增长呢?
答:是的,在重新索引前后的数据是完全一样的,但是索引却全面进行了更新。当您执行DBCC DBREINDEX命令的时候,SQL Server的日志仅仅记录了扩展盘区的分配情况(8页面单位),而不是记录了每一行或者每一页所发生的变化。这种类型的日志记录方式避免了物理文件由于系统故障而遭到破坏,并且将更详细的日志记录对系统吞吐量产生的影响降低到最小。
当您备份日志文件的时候,SQL Server必须对分配在扩展盘区中的页面进行备份,以便保持数据库备份和日志备份的一致性。如果SQL Server不备份这些页面,您将不能够切换回完全恢复模式,除非你进行一次完整的数据库备份。您必须能够从最近一次的完全备份、任何差异备份以及任何更新的事务日志备份中对数据库进行恢复。
——————————————————————————————————————————
再者,看你面试什么方面的啦!
要是DBA的话,层次更高一些!
热心网友
时间:2022-04-07 21:06
留个邮箱!发给你两个面试题集合给你!追问772972769@qq.com
追答已发送,请查收邮箱!
热心网友
时间:2022-04-07 22:40
分页存储过程,伪列,考的比较多
数据分析技术面试常见问题
销售运营人员在制作报表时,会使用SQL从数据库中提取数据,然后在复杂场景下,将数据导入Python进行更深度处理,最终使用Excel生成报表。3. 如何提取班级第一名的学生信息(姓名、学科、分数)?解答:找出每班的总分最高者,即为第一名,然后获取其姓名、学科及分数。二、Excel常见面试题 1. Excel的基础...
经典sql面试题及答案分析有哪些?
第一步:理解问题,画出查询结果表。结果表应包含不同分数段的房源数量。第二步:分解问题。包括四个步骤:对评分表按照分数区间分组;对每个区间进行计数。第三步:确定关键知识点。此题是“分区间问题”,涉及SQL中的“复杂查询”和“多条件判断”。第四步:逐步实现。首先分区间,利用case表达式实现...
SQL笔面试题:如何求取中位数?
大家好,我是胖里,今天和大家探讨一个常见的SQL面试题目:如何求取中位数。首先,我们来了解中位数的概念。中位数,又称中值,是统计学中的一个专有名词。它指的是一组按顺序排列的数据中居于中间位置的数。这个数值可以将数值集合划分为相等的上下两部分。对于有限的数集,可以通过把所有观察值高...
SQL面试题(实战题-窗口函数拓展:lag 和lead)
题目的目标是找出特定VIP用户的活跃天数平均间隔。为了实现这个目标,我们需要构建一个SQL查询,该查询需要处理的表结构包括用户活跃日期、用户类型以及用户ID。具体解题思路如下:首先,我们需要确定VIP用户。这通常通过一个WHERE查询语句完成,但具体条件取决于VIP的定义(例如,根据用户等级、消费额度或其它特定...
数据分析面试!SQL常见的SQL面试题:经典100道
employee ORDER BY salary DESC, bonus DESC;对非ASCII字符排序:MySQL: ORDER BY CONVERT(emp_name USING Gbk); Oracle: ORDER BY NLSSORT(emp_name, 'NLS_SORT=SCHINESE_PINYIN_M');通过这些练习,你可以深入了解SQL的运用,并在实际面试中展现出扎实的技能。祝你面试顺利,早日获得理想职位!
常见的SQL面试题:经典50例
SQL 优化:能使用 EXISTS 就不要使用 IN 已知有如下4张表:学生表(student)、成绩表(score)、课程表(course)、教师表(teacher)。根据以上信息按照下面要求写出对应的SQL语句。查询姓“猴”的学生名单 查询姓“孟”老师的个数 面试题:查询课程编号为“0002”的总成绩 查询选了课程的学生人数 ...
数据分析面试必备——SQL经典50题思路及答案详解
题目 创建表,插入数据 思路及答案解析 所谓思路,其实就是翻译翻译。1、查询“01”课程比“02”课程成绩高的所有学生的学号;2、查询平均成绩大于60分的同学的学号和平均成绩;3、查询所有同学的学号、姓名、选课数、总成绩 4、查询姓“李”的老师的个数;5、查询没学过“张三”老师课的同学的学号...
2022年常见的SQL面试题:经典50例
会使用GROUP BY进行分组统计,包括COUNT、SUM、AVG、MAX和MIN等函数。能够处理case...when...else...结构,以及选择合适的数据类型和函数。在实际场景中,如何应用SQL优化原则,如避免使用IN而选择EXISTS。面试时,不仅需要熟知这些基础题,还要能结合实际案例分析和解决问题。例如,如何根据关联表结构编写...
面试常用的SQL问题和答案
首先,面试官可能会从一般性问题开始,询问你对SQL的整体体验,这些通常是为了解你的背景和经验。可能的问题包括:1. 什么是SQL?它代表结构化查询语言,用于与关系数据库管理系统(RDBMS)交互的编程语言,用于操作数据。2. 什么是SQL方言?常见示例包括Microsoft SQL Server、PostgreSQL、MySQL、SQLite、T-...
SQL面试——简单5步,统计某个月连续登录N天的用户数量
统计2021年12月连续登录7天的用户数量,涉及用户登录表(user_active_log),包括userID和createdTime字段。以下是解决方案。核心是连续登录,定义为日期连续。用数据库表达日期连续,可通过两种方法:构造辅助列,原始日期减辅助列数字得新日期,判断连续性。构造辅助列,原始日期减辅助列日期得新数字,根据...