2012-06-21 49 views
0

好吧,mysql索引。索引只不過是在WHERE子句中使用的每一行都有一個唯一的ID?什麼是mysql索引,以及如何創建索引?

索引表時,進程是否將任何信息添加到表中?例如,另一列或值的地方。

當檢索值時,索引是否即時發生,或者是如何將插入或更新函數放入表中的值?

任何更多的信息來清楚地解釋mysql索引將不勝感激。並且請不要只是鏈接到mysql文檔,這很讓人困惑,並且最好從專業人士處獲得個人迴應。

最後,爲什麼索引不同於告訴mysql在兩個值之間查找值。例如:WHERE create_time> ='AweekAgo'

我在問,因爲我的一張表是220,000多行,它需要一分鐘以上才能返回一個非常簡單的mysql select語句的值,我希望索引將加快這一點。

謝謝先進。

+1

是的,索引會讓你的查詢快得多。閱讀文檔:http://dev.mysql.com/doc/refman/5.0/en/mysql-indexes.html –

+0

真的......你無法爲你提供自己的想法。如果我完全理解該文檔,您認爲我會在這裏寫作。 stackoverflow的存在不是爲了將人們重定向到他們可以輕鬆使用谷歌的東西,而是讓人們來問一個問題,就好像與專業人士交談一樣。謝謝你沒有閱讀我的問題。 – knittledan

回答

1

數據庫索引是一種提高表中操作速度的數據結構。可以使用一列或多列創建索引,爲快速隨機查找和有效訪問記錄順序提供基礎。

您可以創建一個像這樣的指標:

CREATE INDEX index_name 
ON table_name (column1, column2,...); 

你可能會更復雜的數據庫上工作,所以這是很好的記住一些簡單的規則。

  • 索引減慢了插入和更新,因此您希望在頻繁更新的列上仔細使用它們。

  • 索引加速where子句和order by。

對於進一步的細節,你可以閱讀:

http://dev.mysql.com/doc/refman/5.0/en/mysql-indexes.html

http://www.tutorialspoint.com/mysql/mysql-indexes.htm

2

你被投下來,因爲你沒有花精力去閱讀或搜索你所要求的。 A simple search in google本來可以告訴你Database Index的優點和缺點。這裏是a related question on StackOverflow。我確信有很多這樣的問題。

爲了簡化問題,如果按照專業領域編排書架,將會更容易在圖書館找到書籍。您可以輕鬆地告訴某人前往特定地點並選擇該書 - 這就是索引的做法

另一個示例:想象一個按字母順序排列的入場列表。如果你的名字以Z開頭,你只需跳過A到Y然後到Z-更快?否則,您將不得不搜索並搜索,如果您沒有仔細查看,甚至可能找不到它。

+0

我的一些問題很容易在谷歌上搜索到,但其他的問題不僅僅是爲了找出答案,所以我來這裏澄清。謝謝你多一點澄清 – knittledan

0

有很多索引,例如散列,特里結構,空間索引。這取決於價值。很可能它是一個散列和二叉搜索樹。沒有什麼真正的幻想,因爲最有可能花哨的東西是昂貴的。