回答
NO,指數都是爲了列索引用於快速找到與特定 列值行的表
。 沒有索引,MySQL必須在第一行開始 ,然後在整個表中讀取 以查找 相關行。表越大, 這個成本就越多。如果該表具有 這一列的索引, MySQL可以快速確定 的位置,以在 的中間尋找數據文件,而不必在所有數據文件中查找 。如果一個表有1,000行,則至少比順序讀取快100倍。
我該如何決定何時創建索引或刪除索引?我必須經常從8列的表格中訪問兩列。 (也就是說有些表格有1000行,10000行,100萬,2-3百萬,500萬)。跟索引一起去總是很好嗎?創建索引會不會變成一個糟糕的主意? – user319280 2010-04-23 20:02:55
當性能糟糕時應使用索引,而不是10-1000表格的規則。如果您發現查詢速度較慢,請查看索引。我從來沒有見過有10行表格執行不好的表格,但加入更大的表格(10,000,000)表格可能會給您帶來問題。正如那句老話所說的那樣,**不要修復它,如果它不破壞** – 2010-04-23 20:08:09
在oracle文檔中,您可以從create index的語法圖中看到它不適用於索引。
我也不能想到你想要的理由。
索引已經排序,所以你可能不想創建索引。但是,如果要進行低級編程,則希望將索引的子集存儲在內存或磁盤的較小區域中,例如每1024個或每2048個記錄,以便您可以先查找並搜索更大的位置索引一條記錄在於。
「平方根」規則在這裏很有效。所以如果這個表有400萬個條目,那就是2048 * 2048(大約)。您可以「加載」2048條記錄,然後找到需要加載的主索引的哪個2048記錄部分以查找記錄,因此總共只加載2個塊,而不必在2048個塊中進行二進制搜索。
這可能是一個巨大的優化,但它是低級程序員,即數據庫工具的開發人員,而不是他們的用戶。
- 1. 索引創建是否可以使用現有索引?
- 2. 是否可以在SAP HANA的虛擬表上創建索引?
- 3. 是否創建索引事
- 4. MySQL是否在創建新索引時使用現有索引?
- 5. 是否可以在索引操作(rails 3.2.12)中創建params [:customer]?
- 6. 是否可以在MongoDB中創建多個集合索引(或搜索)?
- 7. 是否可以爲臨時表創建索引
- 8. 是否可以使用Objectify創建降序索引?
- 9. 是否可以爲多個列創建一個索引? hiberanate
- 10. 是否可以使用PHP和HTML創建搜索引擎?
- 11. 索引boost :: multi_index_container中是否可以索引某些元素?
- 12. 什麼是mysql索引,以及如何創建索引?
- 13. 是否可以命名在oracle中創建主鍵時創建的索引?
- 14. 在創建表上創建索引
- 15. 是否可以使用Hibernate註釋和hbm2ddl在連接表上創建索引?
- 16. 是否可以在子文檔列表上創建唯一索引?
- 17. 使用SELECT INTO時,是否可以在臨時表上創建索引?
- 18. 創建索引
- 19. 是否可以禁用負向索引?
- 20. 是否可以嵌套索引匹配?
- 21. 是否可以索引表的evey列?
- 22. 是否可以直接訪問索引?
- 23. 表索引是否可逆?
- 24. 可可NSIndexSet:多重索引。如何創建索引集,多個索引?
- 25. 可以在插入時在表上創建索引
- 26. 是否有可能在sqlite中創建臨時索引?
- 27. 索引視圖索引創建失敗
- 28. 如何在索引視圖上創建空間索引?
- 29. 使用sqlalchemy在json鍵(表達式索引)上創建索引
- 30. 分析視頻內容,在搜索引擎上創建索引
兩條建議:1.讓你的問題更清楚,2:接受你的問題的答案 – 2010-04-23 19:53:55
我必須與[@Philippe Leybaert]聯合,我發現你有更多有效的輸入,當你表明你關心X- )。還有興趣,請你解釋一下**爲什麼**你想試試這個? – 2010-04-23 20:10:56