您好,登录后才能下订单哦!
序员面试中要注意什么?MySQL数据库表如何设计?如果要选择一门程序员必备的技能,那答案无疑是数据库,而MySQL是首选。很多企业在面试过程中会提问MySQL数据库表设计要注意什么,接下来千锋就给大家讲解一下。
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内容比较多,导致主从同步效率问题。
了解更多数据库优化知识,只要你的技术能够满足企业的需要,你就能拿到满意的薪资。如果你真的想要学好Java编程开发,可以选择专业的学习,让自己更好的进入编程行业。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。