锐安盾-网站安全加速服务

中国站

联系我们

400-002-9968

售前咨询

售后服务

注册 登录

博客 > SQL知识:SQL常见问题解答

SQL知识:SQL常见问题解答

  • 标签:
  • SQL
  • InnoDB
  • MyISAM

浏览量:759次评论:0次

作者:锐成网络整理时间:2024-07-12 17:48:38

SQL是一种关系型数据库语言,是现代信息时代必不可少的技能之一。在使用SQL时,可能会遇到许多问题,下面是收集的一些SQL常见问题解答,包括InnoDB和MyISAM的区别、varchar和text的区别、int(20)中20的含义等相关内容。

SQL知识:SQL常见问题解答

问题1:请说明InnoDB和MyISAM的区别

InnoDB支持事务,MyISAM不支持;

InnoDB数据存储在共享表空间,MyISAM数据存储在文件中;

InnoDB支持行级锁,MyISAM只支持表锁;

InnoDB支持崩溃后的恢复,MyISAM不支持;

InnoDB支持外键,MyISAM不支持;

InnoDB不支持全文索引,MyISAM支持全文索引;

问题2:innodb引擎的特性

插入缓冲(insert buffer)

二次写(double write)

自适应哈希索引(ahi)

预读(read ahead)

问题3:请列举3个以上表引擎

InnoDB、MyISAM、Memory

问题4:请说明varchar和text的区别

varchar可指定字符数,text不能指定,内部存储varchar是存入的实际字符数+1个字节(n<=255)或2个字节(n>255),text是实际字符数+2个字节。

text类型不能有默认值。

varchar可直接创建索引,text创建索引要指定前多少个字符。varchar查询速度快于text,在都创建索引的情况下,text的索引几乎不起作用。

查询text需要创建临时表。

问题5:varchar(50)中50的含义

最多存放50个字符,varchar(50)和(200)存储hello所占空间一样,但后者在排序时会消耗更多内存,因为order by col采用fixed_length计算col长度(memory引擎也一样)。

问题6:int(20)中20的含义

是指显示字符的长度,不影响内部存储,只是当定义了ZEROFILL时,前面补多少个 0

以上就是关于SQL常见问题解答的相关内容了,掌握这些内容,有助于更好的管理和优化数据库。

重要声明:本文来自SQL数据库开发,经授权转载,版权归原作者所有,不代表锐成观点,转载的目的在于传递更多知识和信息。

我的评论

还未登录?点击登录

微信扫码沟通
微信扫码沟通

微信扫码沟通

售前咨询
合作
售后
return head