千锋教育-做有情怀、有良心、有品质的职业教育机构

400-811-9990
手机站
千锋教育

千锋学习站 | 随时随地免费学

千锋教育

扫一扫进入千锋手机站

领取全套视频
千锋教育

关注千锋学习站小程序
随时随地免费学习课程

上海
  • 北京
  • 郑州
  • 武汉
  • 成都
  • 西安
  • 沈阳
  • 广州
  • 南京
  • 深圳
  • 大连
  • 青岛
  • 杭州
  • 重庆
当前位置:郑州千锋IT培训  >  面试技巧  >  程序员面试之MySQL数据库表的设计

程序员面试之MySQL数据库表的设计

来源:千锋教育
发布人:千锋郑州
时间: 2021-08-26 17:07:35

  如果要选择一门程序员必备的技能,那答案无疑是数据库,而MySQL是首选。很多企业在面试过程中会提问MySQL数据库表设计要注意什么,接下来千锋就给大家讲解一下。

img_279127_154355955725360

  MySQL相较于MSSQL SERVER和Oracle,是一款功能强大的小型数据库,能很好的满足千万级数据量的项目需要。注意,MySQL本身是没有可视化界面的,在Windows系统中你可以通过dos命令进行简单的连接和查看,在Linux系统下可以通过MySQL的命令进行连接查看。

  MySQL支持很多种不同的数据类型,并且选择正确的数据类型对于获得高性能至关重要。在设计MySQL表时,你需要注意五点:

  1、一定要设计主键

  主键,又叫主关键字,用来唯一地标识表中的某一条记录。它能保证实体的完整性,加快数据库的操作速度,这一点很重要。主键使用自增最佳,这样每次插入新的记录,记录就会顺序添加到当前索引节点的后续位置,当一页写满,就会自动开辟一个新的页。如果不是自增主键,那么可能会在中间插入,就会引发页的分裂,产生很多表碎片。

  2、字段命名尽量避开保留字

  在给字段命名的时候,要尽量避开关键字,以免出了问题而不好查找。虽然在以关键字命名的字段上加''可以不再报错,但保险起见,就不要这么设计。

  3、表名长度尽可能短

  表名称不要太长,Oracle限制字符为30个,如果有转数据库的需要,表名太长无疑会增加转换的工作量。

  4、尽可能不使用default null

  NULL值不能进行索引,影响索引的统计信息,影响优化器的判断。复合索引中只要有一列含有NULL值,那么这一列对于此复合索引就是无效的。

  5、时间戳Timestamp

  每个表的最后都加一个create_time为时间戳类型timestamp的字段,该方式对于调试阶段非常有帮助。

  6、不要直接存储图片、音频、视频等大容量内容

  MySQL中有两个字段类型被用来设计存放大容量文件:TEXT和BLOB类型。但MySQL内存临时表并不支持这样的大数据类型,如果查询中包含这样的数据,在排序等操作时,就不能使用内存临时表,必须使用磁盘临时表进行,导致查询效率缓慢。同时因为数据内容比较大,就会造成binlog内容比较多,导致主从同步效率问题。

  了解更多数据库优化知识,只要你的技术能够满足企业的需要,你就能拿到满意的薪资。如果你真的想要学好编程开发,可以选择专业的学习,让自己更好的进入编程行业。

声明:本站稿件版权均属千锋教育所有,未经许可不得擅自转载。

猜你喜欢LIKE

最新文章NEW

相关推荐HOT

更多>>

快速通道 更多>>

最新开班信息 更多>>

网友热搜 更多>>