我有一個帖子表,列id (INT, primary key), name(VARCHAR), status(TINYINT)
。該職位的狀態可以是1, 2, 3 or 4
。比方說,我想選擇狀態爲2的帖子。我如何優化表以獲得快速查詢,因爲爲狀態字段添加索引不會有太大的幫助。tinyint列優化mysql
我使用mysql 5.5。引擎可以是innodb
或myisam
。
感謝
更新評論
據我瞭解指數是如何工作的,是當我們添加索引它有點創建列,但在一個有序的方式複製 - 數字(或文本 - 按字母順序),所以它提供了二進制搜索的可能性。所以,如果我們需要找到某個值,我們可以避免對錶格進行全面掃描。但在這種情況下,假設我的表格中有100K行,並且有大致的說法 - 等於行數1, 2, 3 and 4
。如果我爲該字段添加索引,畢竟它應該對剩餘的25k行進行線性搜索,並且如果我們考慮到添加索引會降低插入和更新速度,可能不值得。
查詢 - SELECT id, name FROM posts WHERE status = 2
爲什麼不爲狀態字段添加索引幫助那麼大? – bumperbox
爲什麼添加索引不會加快查詢速度?你在做什麼類型的查詢?請舉個例子。 – Ander2
分成4個表格! –