2011-11-08 15 views
0

最近我得到了一個關於爲腳本生成某些公司軟件的串行密鑰的項目。 起初我的想法是保存在每個軟件的不同MySQL表格上。 他們要求我爲他們的10個軟件生成2000個唯一的密鑰代碼。在聽到他們要求的大量數據之後,我的擔心繼續將數據保存在不同的文本文件中。在Mysql或文本文件上保存記錄

現在我正在考慮爲每個軟件提供10列的固定MySQL表格,並將2000個串行鍵作爲文本格式保存在列中。

每個串行密鑰是一個10位整數代碼,沒有重複。

他們要求製作一個腳本,可以生成用於打印CD和他們的網站上的串行密鑰,他們需要一個腳本,可以從最終用戶獲取序列密鑰,並將其與一個唯一的計算機編碼密鑰混合,並給予用戶密碼。

在這種情況下,我認爲節省文本文件是一個更好的主意,因爲MySQL數據庫無法應對這些巨大的數據量,但我不確定此操作的安全性。

我的問題是我應該對我的項目的數據庫設計作出的決定。

你建議哪一個?

+0

「在這種情況下,我認爲節省文本文件是一個更好的主意,因爲MySQL數據庫無法應對這些巨大的數據量,但我不確定此行爲的安全性。」 MySQL是**設計的**來處理大量的數據!它最終是**數據庫**。此外,這不是很多數據。 – Flukey

+0

「在這種情況下,我認爲節省文本文件是一個更好的主意,因爲MySQL數據庫無法應對這個巨大的數據量,但我不確定這個動作的安全性。」 我*不是MySQL的粉絲。但是你的想法在這方面如此落後,它將你的判斷稱爲疑問。如果您關心此客戶,請將其轉介給更有經驗的開發人員。 –

回答

2

我不明白爲什麼這個保存數據到MySQL數據庫可能是一個問題,例如,你可以設計兩個簡單的表像如下:

Table : programs 
    -id - INT [PK] 
    -name - VARCHAR(50) 


Table : serials 
    -id - INT [PK] 
    -p_id - INT [FK] ---> programs.id 
    -scode - INT (the program serial) 

一個表(節目)中包含的列表該程序(它是一種可用程序的枚舉),另一個包含指向程序表中特定程序的程序序列號。

+0

他們正在談論25000串行密鑰,讀取這些數據並保存它們是服務器高源使用率的問題。但是,如果我選擇將這一數量保存在文件中,訪問將變得簡單快速,但不確定安全性。 –

+1

25000是不是與上面設計的兩個表和索引... – aleroot

+0

@MacTaylor - 請遵循此設計。每次添加新程序時,您都不想更改數據庫表並重寫應用程序。 –