表的设计具体注意的问题

简介:

1、数据行的长度不要超过 8020 字节,如果超过这个长度的话在物理页中这条数据会占用两行从而造成存储碎片,降低查询效率。

2、能够用数字类型的字段尽量选择数字类型而不用字符串类型的(电话号码),这会降低查询和连接的性能,并会增加存储开销。这是因为引擎在处理查询和连接回逐个比较字符串中每一个字符,而对于数字型而言只需要比较一次就够了。

3、对于不可变字符类型 char 和可变字符类型 varchar 都是 8000 字节, char 查询快,但是耗存储空间,varchar 查询相对慢一些但是节省存储空间。在设计字段的时候可以灵活选择,例如用户名、密码等长度变化不大的字段可以选择 CHAR,对于评论等长度变化大的字段可以选择 VARCHAR。

4、字段的长度在最大限度的满足可能的需要的前提下,应该尽可能的设得短一些,这样可以提高查询的效率,而且在建立索引的时候也可以减少资源的消耗。

相关文章
|
存储 索引
维度表和事实表的区别
转载:转载:https://blog.csdn.net/qq_56870570/article/details/118938411
3446 0
|
13天前
|
存储 SQL 数据管理
平台设计-固定表结构与可自定义表结构
整个平台的表结构分为两种:固定的和可自定义的。
|
4月前
|
SQL C++
组合两个表(C++)
组合两个表(C++)
19 0
|
存储 SQL Java
Mysql数据库表字段设计优化(状态列)
初始状态码(java int 32 long 64),int 可以表示31种(除去0000),long可以表示63种(除去0000),当然不可能将0000赋值给初始状态,一般来讲,选择int还是long是根据具体业务需求来决定的。
394 0
Mysql数据库表字段设计优化(状态列)
|
关系型数据库 MySQL 索引
MySQL - 电商网站开发数据表结构设计(表结构,表关系,索引,时间戳)
MySQL - 电商网站开发数据表结构设计(表结构,表关系,索引,时间戳)
418 0
MySQL - 电商网站开发数据表结构设计(表结构,表关系,索引,时间戳)
|
数据库
数据库表的设计
不是数据库表设计大神   最近做订单系统,出现问题是这样的, 有客户表,订单表,套餐表. 通过下单生成订单表. 付款后更改订单状态码为1(表示已付款) (1)如果甲订购2份黄焖鸡米饭,1瓶矿泉水,那么这个订单如何保存这个数据? 剖析: 整个订单系统还要能通过用户修改已下单但未付款的订单内容吗?(或许...
1243 0