数据库 ·

网易MySQL微专业学习笔记(四)-实践课数据库对象

前言

这个系列属于个人学习网易云课堂MySQL数据库工程师微专业的相关课程过程中的笔记,本篇为其“MySQL数据库对象与应用”中的MySQL数据类型相关笔记。

所有笔记可能不定期更新,发布时不一定为最终版。

正文

何为表结构设计

表结构设计需要在正式进行开发之前完成。
根据产品需求将负责的业务模型抽象出来

varchar 字段非常长的情况下与text有哪些区别

varchar vs text
性能上
两者都存在行溢出的风险,一般在认识中varchar比text好一点,但若varchar定义非常长,存储的内容很多,其性能基本与text一样。。。
varcahr最大长度
一般为65535字节。
若表为一个字段,且为utf8编码,其最大能定义的长度为65535/3
TEXT
四种不同大小,支持的更多样化。
一般在保存少量字符串的时候采用CHAR或VARCHAR,较大文本采用TEXT或BLOB。

TEXT或BLOB区别

blob的主要优势是可以存储二进制数据,所以可以把图片等存成blob,而text就只能存文本,这个是他们的主要区别,另外text类型可以有字符集和排序规则,这个在blob里是没有的。

数据类型-命名规范

所有表名,字段名全部使用小写字母
不同业务,表名使用不同前缀区分,比如:kaola_good,music_song、news_comment
生产环境表名字段名要有实际意义
单个子段尽量使用字段全名;多个字段名之间用下划线分割

字段设计规范

字段类型选择,尽量选择能满足应用要求的最小数据类型
尽量使用整型代替字符型。整型在字段长度、索引大小等方面开销更小效率更高,入邮编字段、手机号字段等
注释,每个字段必须以comment语句给出字段的作用
经常访问的大字段(如blob/text)等需要单独放到一张表中,避免降低sal效率,图片、电影等答问卷数据禁止存储数据库。
新业务统一建议使用utf8mb4字符集

用户赋权

理解用户需要什么权限
普通用户只有读写权限
系统管理员具有super权限
权限粒度要做到尽可能的细
普通用户不要设置with grant option属性
权限粒度:系统层面>库层面>表层面>字段层面
禁止简单密码
线上密码要求随机(一般9位随机数)

参与评论