長話短說 - 我正在處理一個大型數據庫,其中基本用戶詳細信息(用戶標識(索引),用戶名,密碼,父用戶,狀態)存儲在一個數據庫和擴展用戶詳細信息(相同的用戶標識(索引),全名,地址等)存儲在另一臺服務器上的另一個數據庫中。MySQL聯合存儲引擎與複製(性能)
我需要做一個查詢,在這裏我選擇由特定用戶擁有的所有用戶(通過基本用戶詳細信息數據庫中的父用戶字段),按其全名(來自擴展用戶詳細信息字段)排序,一個時間(對於任何一個用戶來說有成千上萬個,也許有幾萬個)。
據我所知,有三種可能的解決方案;
無JOIN - 在一個查詢中獲取所有用戶ID,並根據這些ID運行第二個查詢。這很好,除非用戶ID的數量可能會變得太高以至於超過最大查詢長度,或者效率非常低。
複製的基本用戶信息的數據庫表到服務器擴展的細節,所以我可以做一個JOIN
使用聯合存儲引擎表來實現相同的結果#2
看起來3是最好的選擇,但我一直能夠找到關於性能的很少的信息,並且我還發現一個註釋要在生產數據庫中使用它。
對於什麼是最佳實施方案,我將不勝感激。
謝謝!