簡體   English   中英

PHP / MYSQL在數據庫中存儲大型數據集

[英]PHP/MYSQL Store large data sets on a database

我正在構建一個收集和解析“csv”文件的平台,其中包含5000行平均值和40列; 任何注冊用戶都可以上傳文件,因此理論上不應該限制上傳和存儲的文件數量(假設我每天上傳的內容不超過20個)。 這些文件由定制的PHP解析器解析,這種解析器有點高效,但問題出在這里:存儲。 特別是,我想將這些數據存儲在MySQL數據庫中供以后使用:我應該如何組織我的數據庫? 我應該創建一個包含每個文件行的表,每個單元格包含原始文件的每列的內容嗎? 或者我應該為文件中的每一行插入一行? 第一個似乎更好,因為第二個解決方案構建了大量的行,但效率也較低,因為任何時候我必須在數據庫中提取任何數據,我將不得不再次解析整個blob然后提取我需要的數據

鑒於如果有太多用戶同時連接,由於內存不足,我無法將數據存儲在PHP數組中,這在這種情況下是最佳解決方案嗎?

由於所有文件都具有相同的列,因此應將它們存儲在一個表中,並添加另一個列(可能引用第二個表,每個上載一行)以唯一標識一組行。

例如:

rowId, setId, col1, col2, ...
1, 1, 'abc', 'def', ...
2, 1, 'abc', 'def', ...
3, 1, 'abc', 'def', ...
4, 2, 'abc', 'def', ...
5, 2, 'abc', 'def', ...
6, 2, 'abc', 'def', ...

這就是每組2行3組數據的樣子。

暫無
暫無

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

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