2016-07-24 18 views
0

我有一個包含數百萬條記錄的MySQL表,每天都有數百條記錄插入到表中。如何優化最頻繁的MySQL SELECT查詢

在前端,它顯示最近的100個記錄使用查詢:

SELECT * FROM 
table_a 
ORDER BY creation_time DESC 
LIMIT 100 

用戶每次訪問頁面時,它會掃描通過大表,並進行排序。該過程看起來非常耗費資源。

我發現MySQL中有一個VIEW。如果我創建存儲結果的視圖,是否有助於優化性能? view是否與原始表同步?或者任何其他方式來提高查詢性能?

謝謝!

+0

意見通常很慢下來。重點開始索引。並審查你是否需要所有這些行掛起。 – Drew

+0

參照@德魯的觀點:您可以在'creation_time'上添加一個索引。 'ALTER TABLE'table_a' ADD INDEX'idx_table_a_creation_time'('creation_time')' – 1000111

+0

謝謝。處理這種情況的最佳方式是什麼?該表日益增長,但總是選擇最近的記錄。 – Yota

回答

0

你可以試試下面的東西,以加快您的查詢:

1. Select only required column(s) instead of all (*) in SELECT Query. 
2. Create Indexes on creation_time.