mysql从头学起(二)------日常工作中需要注意的小细节

日常工作中需要注意的小细节

数据类型的优化
  1. 更小的数据类型通常更好,更小的数据类型通常更快,因为他们占用更少的cpu缓存、磁盘、内存。
  2. 简单就好,简单数据类型的操作通常需要更少的cpu周期。整形比字符操作代价更低,其实mysql提供了函数INET_ATON(varchar)和INET_NTOA(int)使ip地址和整数可以进行互相转换,当然ip地址转换为整数以后可读性会变差,这需要在二者之间做一个衡量。
    在这里插入图片描述
    在这里插入图片描述
  3. 尽量避免使用null。
  4. 使用枚举来代替字符串。
合理使用范式和反范式

数据库的3范式规定了数据库设计的准则,但是在实际工作中为了提升sql的执行效率,我们往往会打破一些数据库范式以使得sql执行能有更高的效率。

数据库的主键的设计

数据库主键可分为自然主键和代理主键:
自然主键:事务属性中的唯一标识。
代理主键:与业务无关的无意义的序列。
推荐使用代理主键,因为代理主键不与业务耦合,可维护性更高。

字符集的选择
  1. 如果存储的是英文数字,直接使用latin1,这会节省大量的存储空间。
  2. 如果存储的是中文,建议使用uft-8_mb4而非uft-8,因为使用utf-8的时候如果遇到需要使用3个字符储存的汉字会产生乱码。
存储引擎的选择

常用的数据库存储引擎分为InnoDB和MyISAM,mysql5.0以前默认使用MyISAM作为存储引擎,5.0以后默认使用InnoDB作为存储引擎,InnoDB支持事务,支持行级锁,MyISAM不支持事务,只支持表锁,大量select语句适合使用MyISAM,大量update、delete、insert适合使用InnoDB。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

不务正业的攻城狮

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值