我有這臺服務器設置一個實時流量日誌數據庫,它包含一個大的統計表。現在我需要從它創建一個更小的表格,比如說30天前。SQL選擇查詢內存問題
該服務器還有一個從服務器,用於複製數據並在主服務器後面5秒。 我創建了該從站,以減少選擇查詢的服務器進程,因此只能在插入/更新通信日誌時使用。
現在我需要的最後一天複製到較小的表,但仍不能使用「真正的」 DB, 所以我需要從從選擇並插入到真正的小桌子。 (從站只允許讀取操作)。
我正在使用PHP,我無法用一個查詢在一個查詢中使用兩個不同的數據庫解決此問題...如果可能,請告訴我如何?
當使用兩個查詢時,我需要把最後一天作爲PHP MySQL對象。對於300K-650K的行,它開始成爲緩存內存問題。我會使用通過ID部分選擇(通過設置在哪裏術語ids)塊,但我沒有一個自動增量id字段,並沒有行的id(當存儲交通數據id會佔用大量的空間) 。
所以我想這個想法,我想獲得第二個意見。
如果我將立即採取最後一天(300K行),將會使PHP內存過載。 我可以使用限制塊,或一個新的想法:一次選擇一個列,並將其複製到新的真實表。但我不知道第二種方法是否可行。插入查看列級別或行級別的第一個開放空間嗎? 的主要想法是減少選擇的大小..所以有可能建立一個按列選擇,然後插入他們作爲列在MySQL?
爲什麼你談論你的表,就好像他們是人? 0_0 – 2012-12-26 13:49:48
@JackManey:因爲英語不是Amir的母語,某些語言的直接音譯會使用'他'或'她'代替中性'it'。 –