2012-01-06 32 views
0

今天被問到我們的讀取查詢可能會因爲增加約1,000,000行而受到影響。查詢索引嚴重,速度非常快〜1ms。是不是因爲我們有索引,查詢性能應保持相對相同,無論我們添加多少新數據?磁盤上的索引大小是否會繼續增長?有人可以解釋嗎?添加附加數據時,索引是否保持查詢性能?

謝謝。

回答

1

你的問題太泛化了;沒有看到實際的查詢和表格結構就很難回答。

儘管表被索引,但仍有可能導致全表掃描的查詢(例如包含LIKE條件的查詢)。還有一些查詢通常會使用索引。此外,根據您的DBMS收集的統計信息,它可能會決定使用索引比僅執行全表掃描更爲低效,結果會忽略索引。

簡而言之,索引可以極大地提高某些查詢的性能,而其他查詢可能會發現它們效率低下並忽略它們。如果您的查詢屬於第二種類型,那麼增加表中的數據量肯定會增加查詢執行時間。