php - MySql 数据库应该有一个表还是多个表?
问题描述
我是 mysql 新手,是自学成才的。我正在建立一个网站,供用户为汽车做广告(这样做是为了掌握网络开发的基础知识)。基本上,卖家可以在网站上发布他们的车辆,买家可以查看广告并与卖家达成交易。
我正在建立一个 mysql 数据库来存储卖家提供的汽车的详细信息。数据库的布局如下;
'车辆' 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
对于查询语句中的所有变量,依此类推。
所以,我的问题是,这种方式是否有一个表格来解决这样有效的网站问题(如果该网站旨在用于大量流量使用)?
还是我需要使用几个表(比如一个用于车辆类型,一个用于车辆制造等)并使用JOIN
S 来产生查询的最终结果?
我以前从未开发过这样的网站,我非常感谢您对此的建议/意见。如果您能详细说明为什么我需要遵循建议的路径(这样做的利弊),我将不胜感激。请给我一些提示,以便我在将来开发大型网站时能够引导自己走上正确的道路。
解决方案
推荐阅读
- ios - 如何在 RxSwift 方式中实现 shouldChangeText
- django - 如何使用python将pdf文件下载到本地机器
- javascript - 如何使用事务更改资产属性的值?
- tar - 如何在不保留目录结构的情况下 tar 目录的某些文件?
- google-apps-script - getFormulas() 和 setFormulas() 将引用转换为 #REF
- php - 需要帮助使用 foreach 数组上传多个大文件 (40mb - 2GB)
- gnuplot - Octave-CLI 和 Octave-GUI 上绘图的不同行为
- angular - 我可以将角度模板从一个组件转移到另一个组件的值吗?
- node.js - 在 node.js 服务器上的请求正文中接受二进制文件
- node.js - 无法在 ubuntu 中安装纱线(fsevents@1.2.4:平台“linux”与此模块不兼容)