2013-01-03 36 views
1

我剛剛購買了以下數據庫表(S),這樣我們的用戶可以選擇他們是在哪個城市在世界各地:Memcache的城市查找表或不

http://www.rocky.nu/index.php?main_page=product_info&cPath=4&products_id=13

雖然它工作得很好,它有點慢,我們預計所有的用戶都會使用它。我已經閱讀了memcache,並想知道是否將所有查詢memcache存儲到此數據庫是一個好主意,因此如果來自同一城市的用戶訪問該網站,它將提高性能。

任何幫助將不勝感激!

+0

'有點慢'沒有多大幫助。什麼慢呢? –

+0

@ G-Nugget Slow是錯誤的詞,我的意思是我想盡可能優化它 –

+1

@Atabtab - 你在搜索哪些列?似乎只有148,000條記錄,如果一切正確索引,它應該是相當快的。 –

回答

0

除非您通過位置或名稱搜索表格,否則沒有太多可以做的事情。正如我在上面的評論中提到的,ID列的數據類型不應該是BIGINT s;如果你覺得冒險,MEDIUM INT UNSIGNED NOT NULL會更好,更高級別的索引可以製作成SMALL INTTINY INT

從國家ID或州ID獲取城市應該幾乎是即時的。如果你想通過緯度/經度搜索,你應該使用空間的東西,但如果你不熟悉它會變得有些複雜。

P.S.我假設在商店頁面上顯示的索引將其引入到您的數據庫中。

+0

好的,謝謝,我會去這些。我想我想知道的是將國家的城市存儲在memcache中而不是回到數據庫是否有意義。猜猜我將不得不做一些基準測試,並找出這種方式 –

+0

@AtabtabChoudhry是的,我想我有點偏離主題。數據庫是更好的存儲解決方案,因爲您正在使用相對較小的數據集並使用索引,所以不應該存在任何性能問題。 –

0

我不確定有關memcache,但請確保您在搜索量最高的列上有一個索引鍵。如果有一個獨特的領域,那麼專欄也是唯一的關鍵。