我有一個二維數組有幾個子數組(約30個,子數組有10個元素)。 我需要從數組中獲得相當頻繁的基本數據,我有一個函數可以在我的腳本中返回它的內容(或部分內容)。該函數的樣子:PHP包括數組與MySQL查詢:好主意?
function get_my_data($index = false){
$sub0 = array(
'something' => 'something',
'something else' => 'else',
...
);
$sub1 = array(
'something' => 'something different',
'something else' => 'else different',
...
);
...
$sub30 = array(
'something' => 'something 30 times different',
'something else' => 'else 30 times different',
...
);
$data = array($sub0,$sub1,$sub2,...,$sub30);
if($index !== false)
return $data[$index];
else
return $data;
?>
然後我把它用,包括:
<?php
include 'my_data.php';
$id = $_GET['id'];
$mydata = get_my_data($id);
...
?>
我做這個,因爲當我開始這個項目時,我沒有想到我將有更多的那10個子陣列,而我也不需要它具有動態性。實際上,現在我必須添加一個動態列(對子數組的索引),在這種情況下使用數組聲明並不是一個好主意。我立即想到使用數據庫,傳輸數據並不困難,但如果我這樣做,那麼我需要改變我的功能get_my_data
並在其中插入一個查詢,因此,因爲它被稱爲很多次,我會有很多的查詢,幾乎每個我的網站腳本都有它的一個。我認爲性能會更差(因爲mysql已經在我的網站中大量使用)。動態數據不會太頻繁地改變(客戶端這樣做)。
我必須解決這個問題的思路是:
- 保存所有的數據在數據庫,並通過MySQL的查詢得到它,
- 休假PHP端,並使用文件管理動態數據,
- 在PHP端留下靜態部分,在mysql數據庫中添加一個邏輯連接器(如'id'索引在子數組中)和id列,並獲得mysql上的動態數據
我不想失去很多perfo愛情,你有沒有任何建議或建議?