簡體   English   中英

如何設計用於存儲銷售物品的 MySQL 數據庫

[英]How to design a MySQL database for storing sell items

我一直在嘗試設計一個 MySQL 表來存放客戶購買的商店物品。 我不知道應該采取什么方法來設計一張好桌子。

我的第一個選擇是:

ID bill_id_fk item1_id item2_id item3_id item4_id

在這種方法中,我將為項目創建可能是 20 列(假設客戶一次最多可以購買 20 個項目)。 項目的 ID 將存儲在該特定bill_id_fkitem(n)_id列中。 我對這種方法的擔憂是以后很難查詢特定商品,例如特定商品已售出多少次。

我的第二個意見是:

ID bill_id_fk item_id
1 1 23
2 1 29
3 2 23

在這種方法中,我將只創建 3 列,並為每個項目創建一行,其中包含特定賬單的bill_id_fk 在這種方法中,更容易查詢特定商品的銷售計數。 但我擔心的是在使用應用程序時會創建成千上萬行,隨着時間的推移,這將如何影響應用程序的性能?

我想就設計此類數據庫的最佳實踐征求您的意見。 或者我應該采取其他方法嗎?

您不可能將 go 與第一個選擇,第二個是您的情況的最佳方法。

如果您索引了正確的列,它不會影響您的性能。

當涉及到項目時,可以在您的賬單表中添加一個包含項目編號的列,例如:

bills (id - total_price - user_id - item_counts)
bill_items (id - bill_id - item_id - item_price)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM