首页 后端开发 php教程 数据库设计的困惑,该怎么解决

数据库设计的困惑,该怎么解决

Jun 13, 2016 pm 01:44 PM
join quot

数据库设计的困惑
情况是这样的,我以前做网站的时候遇到像“推荐”,“置顶”啊之类的,都是在表里加一个字段如“IsTop”或是"IsDelete"等,用BOOL型。可是最近来到新公司,公司的领导不是这么做的。如:“IsTop”表示是否删除,他就用建一个news_delete表,里面的记录就是己经"IsTop"的ID值。

这么做好像也不错,用起也很方便。要增加别的类似别的,不用在修改原有的表了。请问在数据库设计方面的高手们,如何是好。

------解决方案--------------------
感觉都可以,如果觉得数据结构复杂,就按照第二种来设计,拆分开来。
------解决方案--------------------
要学会宽容
对于你的描述,没有一定的规则

附加的属性与基础数据有紧密的联系
很显然,你的方案要优于分表方案
------解决方案--------------------
自定义字段的两种做法,一种是往本表加字段,一种是建一自定义字段表存值。个人认为各有千秋吧,后者语句稍微复杂些,也不好弄索引,搜索不方便,需要join操作,数据增多,可能会有效率问题,不过胜在扩展方便,前者简单暴力,方便设置索引进行搜索,不过不好扩展业务,最好两种方案都保留,具体问题具体做法。
------解决方案--------------------

探讨

引用:
要学会宽容
对于你的描述,没有一定的规则

附加的属性与基础数据有紧密的联系
很显然,你的方案要优于分表方案


您的意思是说 我的方案 效率和性能好,使用方便。是这样的吧。

------解决方案--------------------
探讨

引用:
自定义字段的两种做法,一种是往本表加字段,一种是建一自定义字段表存值。个人认为各有千秋吧,后者语句稍微复杂些,也不好弄索引,搜索不方便,需要join操作,数据增多,可能会有效率问题,不过胜在扩展方便,前者简单暴力,方便设置索引进行搜索,不过不好扩展业务,最好两种方案都保留,具体问题具体做法。

foolbirdflyfirst 能有……

------解决方案--------------------
问题解决了 也该把贴结了。看看你的结贴率。0% 发帖:7 正常结贴:0
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

AI Hentai Generator

AI Hentai Generator

免费生成ai无尽的。

热门文章

R.E.P.O.能量晶体解释及其做什么(黄色晶体)
3 周前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳图形设置
3 周前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您听不到任何人,如何修复音频
3 周前 By 尊渡假赌尊渡假赌尊渡假赌

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

MySql中如何使用JOIN MySql中如何使用JOIN Jun 04, 2023 am 08:02 AM

JOIN的含义就如英文单词“join”一样,连接两张表,大致分为内连接,外连接,右连接,左连接,自然连接。先创建两个表,下面用于示例CREATETABLEt_blog(idINTPRIMARYKEYAUTO_INCREMENT,titleVARCHAR(50),typeIdINT);SELECT*FROMt_blog;+----+-------+--------+|id|title|typeId|+----+-------+--------+|1|aaa|1||2|bbb|2||3|ccc|3|

MySQL Join使用原理是什么 MySQL Join使用原理是什么 May 26, 2023 am 10:07 AM

Join的类型leftjoin,以左表为驱动表,以左表作为结果集基础,连接右表的数据补齐到结果集中rightjoin,以右表为驱动表,以右表作为结果集基础,连接左表的数据补齐到结果集中innerjoin,结果集取两个表的交集fulljoin,结果集取两个表的并集mysql没有fulljoin,union取代union与unionall的区别为,union会去重crossjoin笛卡尔积如果不使用where条件则结果集为两个关联表行的乘积与,的区别为,crossjoin建立结果集时会根据on条件过

php提交表单通过后,弹出的对话框怎样在当前页弹出,该如何解决 php提交表单通过后,弹出的对话框怎样在当前页弹出,该如何解决 Jun 13, 2016 am 10:23 AM

php提交表单通过后,弹出的对话框怎样在当前页弹出php提交表单通过后,弹出的对话框怎样在当前页弹出而不是在空白页弹出?想实现这样的效果:而不是空白页弹出:------解决方案--------------------如果你的验证用PHP在后端,那么就用Ajax;仅供参考:HTML code

mysql的join查询和多次查询方法是什么 mysql的join查询和多次查询方法是什么 Jun 02, 2023 pm 04:29 PM

join查询和多次查询比较MySQL多表关联查询效率高点还是多次单表查询效率高?在数据量不够大的时候,用join没有问题,但是一般都会拉到service层上去做第一:单机数据库计算资源很贵,数据库同时要服务写和读,都需要消耗CPU,为了能让数据库的吞吐变得更高,而业务又不在乎那几百微妙到毫秒级的延时差距,业务会把更多计算放到service层做,毕竟计算资源很好水平扩展,数据库很难啊,所以大多数业务会把纯计算操作放到service层做,而将数据库当成一种带事务能力的kv系统来使用,这是一种重业务,

MySQL中JOIN怎么用 MySQL中JOIN怎么用 Jun 03, 2023 am 09:30 AM

简介A的独有+AB的公有B的独有+AB的公有AB的公有A的独有B的独有A的独有+B的独有+AB的公有A的独有+B的独有练习建表部门表DROPTABLEIFEXISTS`dept`;CREATETABLE`dept`(`dept_id`int(11)NOTNULLAUTO_INCREMENT,`dept_name`varchar(30)DEFAULTNULL,`dept_number`int(11)DEFAULTNULL,PRIMARYKEY(`dept_id`))ENGINE=InnoDBAUT

利用MySQL的JOIN函数进行表的连接操作 利用MySQL的JOIN函数进行表的连接操作 Jul 26, 2023 am 08:37 AM

利用MySQL的JOIN函数进行表的连接操作在MySQL中,JOIN是一种非常常用的操作,它允许我们将两个或多个表根据它们之间的关联字段进行连接。这样可以方便地从多个表中查询和获取相关数据,提高查询效率和灵活性。本文将使用代码示例演示如何利用MySQL的JOIN函数进行表的连接操作。先创建两个示例表:students和scores。students表包含学生

如何通过MySQL对JOIN优化来提高性能 如何通过MySQL对JOIN优化来提高性能 May 11, 2023 am 08:48 AM

在大多数的Web应用中,数据库操作是最基本也是最重要的一环。而MySQL作为目前最常用的关系型数据库管理系统,在承载了无数网站和应用的同时,也面临着越来越大规模的数据处理和查询访问压力。在这种背景下,性能优化成为了MySQL数据库管理的一个重要环节,而JOIN操作是其中的一个关键点。JOIN连接是MySQL中最常用的数据查询语句之一。在

MySQL中join语句如何优化 MySQL中join语句如何优化 Jun 03, 2023 am 09:31 AM

SimpleNested-LoopJoin我们来看一下当进行join操作时,mysql是如何工作的。常见的join方式有哪些?如图,当我们进行连接操作时,左边的表是驱动表,右边的表是被驱动表SimpleNested-LoopJoin这种连接操作是从驱动表中取出一条记录然后逐条匹配被驱动表的记录,如果条件匹配则将结果返回。然后接着取驱动表的下一条记录进行匹配,直到驱动表的数据全都匹配完毕因为每次从驱动表取数据比较耗时,所以MySQL并没有采用这种算法来进行连接操作BlockNested-LoopJ

See all articles