gpt4 book ai didi

mysql表设计,分表还是全表?

转载 作者:行者123 更新时间:2023-11-29 13:59:00 25 4
gpt4 key购买 nike

我有 table 屋

CREATE TABLE `house` 
`idhouse` int(11) NOT NULL AUTO_INCREMENT,
`type` mediumint(2) DEFAULT NULL,
`address` varchar(5) DEFAULT NULL,
`county` varchar(5) ...

现在,我有了广告功能。所以想把房子带进广告

方法一(直接添加列进行添加)

CREATE TABLE `house` 
`idhouse` int(11) NOT NULL AUTO_INCREMENT,
`type` mediumint(2) DEFAULT NULL,
`address` varchar(5) DEFAULT NULL,
`county` varchar(5) ...
`ad_type` mediumint(2) DEFAULT NULL,
`ad_urgency` int(11) DEFAULT NULL,
`ad_status` int(11) DEFAULT NULL,

方法二(归一化,拆分成表格Ads)

CREATE TABLE `house` 
`idhouse` int(11) NOT NULL AUTO_INCREMENT,
`type` mediumint(2) DEFAULT NULL,
`address` varchar(5) DEFAULT NULL,
`county` varchar(5) ...

CREATE TABLE `Ads`
`idAds` int(11) NOT NULL AUTO_INCREMENT,
`idhouse` int(11) NOT NULL AUTO_INCREMENT,
`ad_type` mediumint(2) DEFAULT NULL,
`ad_urgency` int(11) DEFAULT NULL,
`ad_status` int(11) DEFAULT NULL,
  • 我将执行更多 SELECT (90%) 操作,而不是 INSERT、UPDATE、DELETE (10%)
  • SELECT 操作将全部基于ad_type、ad_urgency、ad_status 等变量。
  • 我经常考虑性能。

我应该使用哪种方法?
使用方法 1(不连接的 SELECT)是否比方法 2(带连接的 SELECT)更快?
如果快的话,快多少?很多 ?

最佳答案

标准化有很多优点。

  • 它可以帮助您避免裁员。
  • 它使您的数据库结构变得灵活。
  • 它可以帮助您避免异常情况。
  • 复杂的查询通常更容易。
  • 它可以最大限度地减少您的数据

...还有更多。

查询的速度不能简单地由数据结构决定,它受到许多不同方面的影响,例如数据库配置、服务器硬件、索引、数据负载等等。

但是,由于较少的数据通常意味着更快的查询(无论有或没有联接):请采用规范化方法。接管系统的数据库管理员会感谢你的。

关于mysql表设计,分表还是全表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15379706/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com