MySQL优化(一.建表时列的选择)

建表时列的选择

数据类型

尽量使用定长的数据,可以使查询速度变快

因为使用定长的数据可以更方便的在磁盘上找到相关的数据

数据类型优先级

int>time,date >enum,char>varchar>text,blob

int

全世界通用,没有字符集和校对集的区别

time date

实际int类型,尽量使用time时间戳,可以省去时区方面的麻烦

enum char

enum 枚举类型内部实际int型,enum转char时需要进行串与数据的转发所以较慢
char 定长的字符串,使运算速度更快

避免使用null

null不利于索引,且占用内存更大

数据分离

将常用的数据与不常用的列进行分离

添加一些必要冗余

例如博客系统的数据库设计,可以在用户表加上一列已发表文章数,这样在查询该用户的文章发布数时,可以减少一次数据的级联查询,当前硬件成本较低,不用死扣范式,采用空间换时间可能使用户体验更好

猜你喜欢

转载自blog.csdn.net/qq_38052995/article/details/82985398