zoukankan      html  css  js  c++  java
  • 面试——数据库

    1. SQL语句中:drop、delete、truncate

    三个都是表示删除:

    • 定义:drop和truncate表示删除表格的结构,delete是删除数据
    • 速度:一般来说:drop>truncate>delete
    • SQL语句类型:delete是dml数据操控语言,这个操作会放在rollback segment,事务提交以后才生效。如果有相应的触发器,执行的时候被触发;drop和truncate是ddl数据定义语言,操作立即生效,不会放在rollback segment,无法回滚,操作不触发触发器trigger。

    2.drop、delete与truncate分别在什么场景之下使用?

    • drop:不再需要一张表的时候:比如删除一个索引:alter table drop index index_name
    • truncate:保留表,只删除其中的数据
    • delete:删除部分数据,加上where子句

    3.left join、right join、inner join

    1,left join:以左表作为保留表,B表中保留满足条件的

    2,right join:以右表作为保留表,A表中保留满足条件的,

    3,inner join:查找的数据是左右两表共有的

    4.SQL的查询优化

    (1)从表连接的角度优化:尽量使用内连接,因为内连接是两表都满足的行的组合,而外连接是以其中一个表的全部为基准。

    (2)尽量使用存储过程代替临时写SQL语句:因为存储过程是预先编译好的SQL语句的集合,这样可以减少编译时间。

    (3)从索引的角度优化:对那些常用的查询字段简历索引,这样查询时值进行索引扫描,不读取数据块。

    (4)还有一些常用的select优化技巧:

    (5)A.只查询那些需要访问的字段,来代替select*

    5. 索引

    索引是一种数据结构,对数据库表中的一或多列的值进行排序,是为了帮助MYSQL高效获取数据,索引的实现通常使用B树及其变种B+树。

    优点:

    1. 大大加快了数据的检索速度
    2. 保证了数据的唯一性
    3. 加速了表与表之间的联系
    4. 在使用order by、group by子句进行数据索引的时候,可以显著减少时间

    缺点:

    1. 索引需要占用物理内存
    2. 如果修改、增加、删除表中数据,索引也要动态维护。

    索引的类型:

    根据索引的功能,可以将索引划分为四类:普通索引、唯一索引、主键索引、聚集索引

  • 相关阅读:
    vim的额外功能
    vi的使用
    文件与文件系统的压缩
    其他常用的压缩与备份工具
    光盘写入工具
    XFS 文件系统的备份与还原
    打包命令:tar
    Linux 系统常见的压缩命令
    Windows10修改DNS
    Linux 磁盘与文件系统管理
  • 原文地址:https://www.cnblogs.com/gaogo/p/11437144.html
Copyright © 2011-2022 走看看