- SQL数据库的三大范式是什么?
①第一范式:所有的字段不能有冗余信息,所有的字段都是必不可少的。
②第二范式:满足第一范式并且表必须有主键。
③第三范式:满足第二范式并且表引用其他的表必须通过主键引用。
2.事务、视图、索引都是有什么作用
①事务:就是被绑定在一起的作为一个逻辑工作单元的SQL语句分组,如果任何一个语句操作失败,那么整个操作就失败,回滚到操作前状态。
②视图:视图是一种虚拟表,具有和物理表相同的功能,可以对视图进行增、改、查操作,对视图的修改不影响基本表,相比于多表查询,它使得我们获取数据更容易。
③索引:就一种特殊的查询表,数据库的搜索引擎可以利用它加速对数据的检索,类似于生活中书的目录。
3.存储过程的作用是什么
①存储过程是一种预编译的SQL语句
②允许模块化的设计,可以多次使用
③防止SQL注入
4.如何处理几十万条并发数据?
答:1.使用存储过程 -- 哪些处理一次请求需要多次访问数据库的操作,可以把操作整合到存储过程,这样只要一次数据库访问就可以了。
2.批量读取 -- 高并发情况下,可以把多个请求的查询合并到一次进行,以减少数据库的访问次数。
3.使用索引 -- 索引可以看作hi特殊的缓存,使用索引就要求where字句中精确的给出索引列的值。
4.分表 -- 把本来同一张表的内容,可以按照地区、类别等分成多张表,很简单的一个思路,但是要尽量避免分出来的多表关联查询。
5.分离活跃数据 -- 例如登录用户业务,注册用户很多,但是活跃的登录用户很少,可以把活跃用户专门保存一张表,查询是先查询活跃表,没有的话再查总表,这也类似于缓存啦。
6.分块 -- 数据库层面的优化,对程序是透明的,查询大数据只用找到相应块就行啦。
7.集群 -- 将兵法请求分配到不同的服务器上,可以是业务服务器,也可以是数据库服务器。
5.SQL之连接查询
外连接:
左连接(左外连接):以左表作为基准进行查询,左表数据会全部显示出来,右表如果和左表匹配的 数据则显示相应字段的数据,如果不匹配则显示为 null。
右连接(右外连接):以右表作为基准进行查询,右表数据会全部显示出来,左表如果和右表匹配的 数据则显示相应字段的数据,如果不匹配则显示为 null。
全外连接:可以通过左外和右外求合集来获取全外连接
内连接: 显示表之间有连接匹配的所有行。
更多推荐
Sqlserver面试题
发布评论