首页 > 编程知识 正文

mysql查看表的建表语句,oracle数据库从入门到实战答案

时间:2023-05-05 07:22:50 阅读:173250 作者:1743

目录

自增主键id

二制作时间、更新时间

在三个字段中添加索引

四数据逻辑删除

五活用数据库代码

添加版本字段

本文主要是总结工作这几年来一些做表格的好实践经验,希望能给你一些启发或帮助。

一自增主键id 为什么需要自增主键id?

性能、存储空间的两个角度来考虑吧。

性能:添加记录时,自增量主键为顺序写入,磁盘的数据页利用率高,不会导致数据页分裂。 将业务相关字段作为主键,容易发生随机写入,为了保持索引的顺序性,需要移动索引树的页面子节点,容易发生数据页面的分裂。

存储空间:自增加主键的长度一般小于业务主键,并且存储在非主键索引的叶节点中是主键的值。 已经明确,主键的长度越小,非主键索引的叶节点越小,非主键索引占用的区域也越小。

因此,从性能和存储容量两方面来看,增加主键是合理的。

事无绝对,是否可以在建表的时候不创建id?

你不用说,我实际上见过。 我们当初有学生关注老师表,但这个表没有主键id。 学生id和老师id作为共同主键id。 老实说,即使关注学生并在老师表中添加自我增加主键id,该字段也没有业务上的意义。

如果创建自增长密钥id没有业务意义,并且可以接受对文件写入性能的影响,则可以不添加自增长密钥id。

二制作时间、更新时间为什么需要添加创建时间、更新时间呢?

如果有制作时间和更新时间,对数据统计、数据追踪有很大意义; 其中,更新时间自然是一个版本概念,便于实现乐观锁定。

创建时间、更新时间取哪里的时间呢?WEB 服务器时间?DB 服务器时间?

建议取 WEB 服务器时间(Tomcat,Jboss,Apache),不建议取 DB 服务器时间当然,我遇到过数据库服务器时间失常、在线数据错误的问题。 这是一个血腥的教训。

3字段中索引为什么需要索引?

索引的目的是减少查询次数,提高查询效率。 可以利用覆盖索引、最左前缀原则、唯一索引等优化查询。

四数据逻辑删除什么是数据逻辑删除?

逻辑删除是指将数据标记为删除。

为什么不建议进行物理删除?

因为一旦物理删除,数据就没有了,将来调查问题、追溯数据都很不方便。再说了,我们是有原则的人,从删库到跑路的事情,我们坚决不干

如果需要在表(利用数据库编码)中存储特殊字符(如emoji ),请使用utf8mb4编码,而不建议使用utf8编码。

6添加版本字段版本字段是添加到表中的版本字段,每当表更新时,版本字段也会更新。 version字段用于实现乐观锁定。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。