情況: 2個表,第一個(人)存儲人名和一些其他數據,第二個(電話)存儲他們的電話號碼。每個人可以有多個電話號碼(這就是爲什麼我首先使用單獨的表格)。mysql最快的2表查詢
目標:選擇一切都那麼,到底我有一個PHP數組是這樣的:
array
(
'0' => array
(
'name' => 'John Smith'
// other values from table Persons...
'Phones' => array('0' => '12345', '1' => '324343') // from Phones table
),
'1' => array
(
'name' => 'Adam Smith'
// other values from table Persons...
'Phones' => array('0' => '645646', '1' => '304957389', '2' => '9435798') // from Phones table
)
);
ETC.
Phones.person_id = Persons.id
什麼是做到這一點的最快方法?程序執行時間意義上最快,而不是編碼時間。我可以做簡單的JOIN,但在這種情況下,我會得到許多重複的行,即每個手機,如果你明白我的意思,我會在每一行中一次又一次地獲得同一人的所有數據。所以我需要在PHP端處理數組。也許有更好的方法?
我非常懷疑這比做一個sql查詢更快,然後在php中重新排列數組。 – chris 2010-11-30 22:10:46