2011-07-09 69 views
2

我正在努力與MySQL索引優化的一些查詢,應該是簡單的,但永遠。我不想發佈具體問題,而是想問問是否有自動處理這些問題的方法。MySQL索引優化

我周圍搜索,但找不到任何東西。當然,如果查詢/索引優化只是遵循一系列步驟,那麼有人必須編寫一個應用程序來爲給定的查詢自動執行它,或者我不理解所涉及的複雜性?

回答

1

那麼,我可以提供一個SQL indexing tutorial。讓我們知道,如果你成功的自動化;)

不太確定MySQL,但有一些Oracle和SQL Server的工具。它們涵蓋了微不足道的案例,但它們傾向於給非平凡案件帶來虛假的安全感。他們也不會考慮總體工作量,他們通常僅限於爲特定報表提供索引。

0

如果這很簡單,你會在MySQL中有自動化的索引生成器。

實際上,MySQL中有一個查詢優化器,它會在執行它們之前,透明地將您的查詢重寫爲它找到的最佳形式。儘管如此,它並不總是能夠發揮作用,並且有它自己的怪癖。知道這些有助於避免一些常見的陷阱(如使用從屬子查詢)

0

There are tools,它可以在給定查詢日誌的情況下向您顯示哪些索引未被使用,並且可以通過啓用不使用索引的查詢記錄來查看哪一個索引需要索引。問題是索引是昂貴的,你不能索引一切,你需要哪個索引取決於你的查詢。