2015-07-06 20 views
0

我想知道MySql的行爲。就像我需要從一張表格中的一個表格中搜索一條信息,該表格中有幾年的記錄。在這方面MySql會做什麼? MySql會在整個表中搜索幾年的記錄嗎?查詢MySql的行爲

感謝

+0

你的桌子上有索引/分區嗎? –

+0

如果我有索引或我沒有索引,MySql會做什麼? –

+0

已經回答! :) –

回答

0

這取決於表結構和用於獲取數據的查詢的類型..

如果您使用的是您正在使用的where子句中那麼MySQL上的日期列索引將僅從上個月的行搜索數據,否則MySQL需要掃描整個表。

+0

感謝您的回覆。索引如何防止MySql掃描整個表?我認爲MySql會遍歷整個表的日期列。 –

+0

不,它會創建單獨的索引頁並根據日期匹配獲取唯一相關數據 –

0

如果您在該列上進行了任何索引/分區,那麼它將只搜索表中的特定區域,而不是整個表格。
但是,如果您尚未使用任何索引或分區等優化技術,則會搜索整個表格。