首页 > 解决方案 > MySql 数据库应该有一个表还是多个表?

问题描述

我是 mysql 新手,是自学成才的。我正在建立一个网站,供用户为汽车做广告(这样做是为了掌握网络开发的基础知识)。基本上,卖家可以在网站上发布他们的车辆,买家可以查看广告并与卖家达成交易。

我正在建立一个 mysql 数据库来存储卖家提供的汽车的详细信息。数据库的布局如下;

'车辆' sql 表结构

'车辆' sql 表结构

其中,user_id 是主键,当卖家将他们的数据存储在数据库中时,它会自动递增。请注意,该表只是实际表的基本版本 (以提供布局的概念)。实际表有大约200 列。然后查询运行如下(请注意显示实际查询的基本版本)

$query = $mysqli->query("SELECT * FROM vehicles 
    WHERE $sale_or_rent = 1 
        AND $vehicle_type = 1 
        AND $make = 1 
        AND price>= $price 
        AND year>= $year 
        AND mileage>= $mileage 
    ORDER BY price ASC 
    LIMIT 0,100");

在查询之前的 PHP 代码中,根据买家的输入来过滤结果,使用 SWITCH 语句设置变量,例如;

$sale_or_rent = "for_sale" OR "for_rent" //depending on the input

$vehicle_type = "car" OR "pickup"

SELECT对于查询语句中的所有变量,依此类推。

所以,我的问题是,这种方式是否有一个表格来解决这样有效的网站问题(如果该网站旨在用于大量流量使用)?

还是我需要使用几个表(比如一个用于车辆类型,一个用于车辆制造等)并使用JOINS 来产生查询的最终结果?

我以前从未开发过这样的网站,我非常感谢您对此的建议/意见。如果您能详细说明为什么我需要遵循建议的路径(这样做的利弊),我将不胜感激。请给我一些提示,以便我在将来开发大型网站时能够引导自己走上正确的道路。

标签: phpmysqli

解决方案


推荐阅读