2014-01-08 24 views
0

我正在研究PHP中的鏈接縮短項目,我希望能夠通過存儲訪問者的IP來記錄每個鏈接的唯一統計信息。這個數字可以使用MYSQL數據庫輕鬆實現,以便爲單個鏈接存儲ips,但是數以百計甚至數千個鏈接,我最終將在數據庫中創建大量表。我應該如何在多個鏈接上存儲唯一的統計信息?

爲每個鏈接創建一個文本文件,並將每個唯一哈希IP存儲在該文件中效率更高還是更好?

謝謝你的時間!

+0

爲什麼不將它們全部存儲在一張表中?使用基於IP地址和鏈接的雙字段密鑰... – crush

回答

1

你可以用2個數據庫表做到這一點,如下:如果一個用戶回來兩次到同一頁面

Table 'link' 
- id (AUTO INC) 
- link (STRING) 

Table 'visit' 
- id (AUTO INC) 
- link_id (FK) 
- ip (STRING) 
- count (INT) 

,您可以使用ON DUPLICATE KEY UPDATE類型的查詢,以增加計數,而不是設置它的爲1.

0

如果您只是記錄信息,那麼寫入文件將更快。寫入數據庫仍然需要編寫,但您也正在運行數據庫引擎。

如果您想審覈滾動文件之外的數據,那麼MySQL將是一條更好的路線。

0

您不需要大量的表格。你只需要2張桌子。其中一個將存儲鏈接列表,然後是另一個包含鏈接表中外鍵和其他要捕獲的數據的表。

0

從長遠來看,使用數據庫將會更好,因爲它可以組織數據並讓您查詢它。否則,您可能會在日誌中包含數據,但您將無法對該數據執行任何操作...

相關問題