SQL面试

作者: Ly3911 | 来源:发表于2020-09-01 09:52 被阅读0次

1.数据库索引原理,如何发挥作用?针对插入操作,会对索引会起什么影响?
索引的思想就是,根据表中数据建立一套索引数据结构-平衡树( b+ tree),每次查询的时候,在内存中根据该结构得到所需要的数据的物理地址,根据物理地址直接去磁盘中拿到结果数据,不用将表中的所有数据都加载到内存扫描一遍。
索引能让数据库查询数据的速度上升, 而使写入数据的速度下降。 因为要维持平衡树这个结构, 增删改数据都会改变平衡树各节点中的索引数据内容,破坏树结构, 因此,在每次数据改变时, DBMS必须去重新梳理树(索引)的结构以确保它的正确,会占用不小的性能,也就是为什么索引会给查询以外的操作带来副作用的原因。
https://www.cnblogs.com/aspwebchh/p/6652855.html
2.什么是聚集索引,什么是非聚集索引?什么是主键?
索引指向需要的数据,那么这个索引就是聚集索引,一般Mysql主键就是聚集索引,修改聚集索引其实就是修改主键。
索引的存储和数据的存储是分离的,也就是说找到了索引但没找到数据,需要根据索引上的值(主键)再次回表查询,非聚集索引也叫做辅助索引。
主键是唯一非空的聚集索引。
聚集索引的顺序,就是数据在硬盘上的物理顺序。一般情况下主键就是默认的聚集索引。一张表只允许存在一个聚集索引,因为真实数据的物理顺序只能有一种。如果一张表上还没有聚集索引,为它新创建聚集索引时,就需要对已有数据重新进行排序,所以对表进行修改速度较慢是聚集索引的缺点,对于经常更新的列不宜建立聚集索引。
聚集索引性能最好,因为一旦具有第一个索引值的记录被找到,具有连续索引值的记录也一定物理地紧跟其后。一张表只能有一个聚集索引,所以非常珍贵,必须慎重设置,一般要根据这个表最常用的SQL查询方式选择某个(或多个)字段作为聚集索引(或复合聚集索引)。聚集索引默认是主键,如果表中没有定义主键,InnoDB会选择一个唯一的非空索引代替(“唯一的非空索引”是指列不能出现null值的唯一索引,跟主键性质一样)。如果没有这样的索引,InnoDB会隐式地定义一个主键来作为聚簇索引。

3.什么是SQL注入式攻击?,如何防范?
提交查询程序含有的参数指向SQL命令,最终达到欺骗服务器执行恶意的SQL命令。
1 )严格检查输入变量的类型和格式对于整数参数,加判断条件:不能为空、参数类型必须为数字对于字符串参数,可以使用正则表达式进行过滤:如:必须为[0-9] [a-z] [A-Z]范围内的字符串。
2 )过滤和转义特殊字符在 username 这个变量前进行转义,对'、"、等特殊字符进行转义。
3 )利用 mysql 的预编译机制。
https://zhuanlan.zhihu.com/p/159212924
https://www.jianshu.com/p/c82148473235
https://www.jianshu.com/p/cae7f2387d57

相关文章

  • Mysql行转列

    遇到的一个Sql面试题: 建表: Sql: 结果:

  • 因为不太了解JVM,面试官让我先回去等通知...

    面试官:你对SQL了解多少? 小菜鸡:SQL很简单啊! 面试官:... 你先回去等通知吧。 对于一个极短的SQL,...

  • 常见面试题之数据库查询

    最近在面试的时候常见SQL题目: 1、统计胜负结果的SQL语句 期望结果: 具体实现SQL: 具体SQL: SEL...

  • SQL面试72题

    ​ SQL面试72题 大家好,这一期呢,我们来看一下sql的面试题。 第1题,什么是sql? 结构化查询语言。用来...

  • sql

    SQL面试72题 大家好,这一期呢,我们来看一下sql的面试题。 第1题,什么是sql? 结构化查询语言。用来创建...

  • 5年Java高工经验,我是如何成功拿下滴滴D7Offer的?

    面试经验分享 1.笔试常见的问题 面试常见的问题上面给的面试题链接基本都有。我只提几点: 写SQL:写SQL很常考...

  • SQL面试

    1.数据库索引原理,如何发挥作用?针对插入操作,会对索引会起什么影响?索引的思想就是,根据表中数据建立一套索引数据...

  • 2020-05-28SQL笔试 I 经典20题及答案解析(上)

    面试经常碰到SQL面试题,今天给大家收集了20道SQL经典面试题,三人行必有我师! 01 建表语句 ```crea...

  • 面试官问你 SQL 注入攻击了吗?

    为什么要聊 SQL 注入攻击? 什么是 SQL 注入攻击? 如何进行 SQL 注入攻击? 如何防范? 常见面试题 ...

  • SQL 基础语法

    http://www.w3school.com.cn/sql/sql_syntax.asp IOS 面试题 htt...

网友评论

      本文标题:SQL面试

      本文链接:https://www.haomeiwen.com/subject/pbotqktx.html