2013-10-12 48 views
0

我願意爲我當前的項目使用sphinx和MySQLMYISAM數據庫引擎,因爲這db是去是唯一只讀10-25百萬條記錄在查詢中使用聯合或連接會導致Sphinx性能下降嗎?

,所以我想知道 是否使用是否工會或加入查詢導致獅身人面像的性能問題?

因爲我即將設計數據庫,如果工會/加入會導致較慢的表現,那麼我可以去優化獅身人面像的設計。

也許像創建一個包含所有字段和數據的大表,然後根據要搜索的數據在sphinx中創建單獨的索引

請指導我正確的方向。

感謝您的時間。

回答

1

獅身人面像無法加入。可以做聯合,一次搜索多個索引。

或者你的意思是建立獅身人面像索引(即在sql_query)?索引器只會首先運行查詢來構建索引。

正如你所說只讀 - 因此沒有更新,索引不應該重建,所以並不重要他們是多麼慢。

一般來說,獅身人面像索引將執行非常相似,無論有多少feilds。所以不應該需要分成不同的索引。 JUEST有一個多用途索引(如果可能的話)。

但是,您可以將索引分成若干位,因此如果性能成爲問題,可以分配給多個服務器。

+0

我的意思是,在構建索引時,如果我提供了帶有UNION和/ JOIN的mysql查詢來連接2-3個表中的數據,它會降低速度嗎?或者一旦建立INDEX,它就無關緊要了。 sql_query的 – AMB

+1

可以是數據庫服務器能夠運行的任何任意的任意查詢。 Sphinx只是直接運行查詢,併爲結果編制索引。它不關心查詢是多麼簡單或複雜。對於數據庫服務器來說,所有複雜的查詢都會更難以優化。 – barryhunter

+0

謝謝,這解決了我的查詢。 – AMB

相關問題