一千萬個為什麽

搜索

SQL表設置建議

基本上我有一個來自異地服務器的xml提要。

xml feed有一個參數?value = n now N只能在1到30之間

我選擇了什麽值,XML文件總會返回4000行。我的腳本每天會為每個值調用此xml文件30次。那就是120000行。我將對這些行進行非常復雜的查詢。但最重要的是我將始終按值過濾,所以 SELECT * WHERE value ='N'等。總是會使用它。

現在最好有一個表存儲所有120k行?或30個表是4k行存儲?

編輯:有問題的SQL數據庫將是MySQL

編輯:只是為了讓它更清晰,數據將每天更新,所以舊表將被覆蓋,我不想要任何存檔解決方案,只是存儲數據的最佳方式,以盡可能少的性能瓶頸,輸出後的數據庫結果將被緩存並每天更新。

編輯:我想我對自己的好處太模糊了:(基本上這些供稿是排行榜,每個價值都是不同的排行榜位置

只有在排行榜位置發生變化且總是只有120k行時,才會更新這些值。不多也不少。

讓我們說:

  1. 綠色
  2. 紅色

那是當前的排行榜和Feed返回的下一次更新:

  1. 紅色
  2. 綠色

只有第2行和第3行會發生變化。不管怎樣,這是我的計劃:)

ANOTHER EDIT >.<: The rows will only contain at most 12 columns and less than 1kb per row. And the update wil only happen ONCE a day because the server the feeds are from is slow and it takes 80 minutes for my server to get all feed values from it.

最佳答案

在存儲方面,120k行表和30個4k表之間幾乎沒有差別。

在維護方面,我總是選擇一張桌子。它使您的代碼和SQL更容易使用,並且因為您已經在使用 WHERE 子句,所以我沒有看到任何拆分表的理由。

轉載註明原文: SQL表設置建議