2012-01-03 108 views
-1

我對mysql索引有這樣的問題。我知道索引是用來加速搜索,但這種情況之間的區別是什麼? =>讓我們來舉一些例子。首先=> mysql查詢"SELECT name FROM BIO WHERE LIMIT 0,100"和second =>(讓我們考慮dx是名稱列的索引)mysql查詢SELECT dx FROM BIO LIMIT 0,100 我認爲在那種情況下沒有任何區別,並希望聽到你們的意見:) 正確的我應該寫在第二個例子是這樣的"SELECT name FROM BIO LIMIT 0,100"? 我做了一些改變的例子來表達數據檢索速度 我不知道指標很好,因爲它我問... 謝謝...Mysql索引與mysql查詢比較

更準確地什麼我想說的理解這是(創建索引列「名稱」)索引和僅使用名稱搜索數據(如「SELECT name FROM ...」)之間的區別?

+0

我認爲它不會使任何差異,因爲搜索不會對索引字段運行。 – WordsWorth 2012-01-03 09:48:21

+0

不知道你在問什麼,但你可以檢查「索引覆蓋查詢」 – 2012-01-03 09:59:30

+0

處理器插座是另一個你可能感興趣的主題 – 2012-01-03 10:02:10

回答

0

你知道,你應該索引id列以加快你給定的查詢嗎?如果你已經這樣做了,由於選定的列,應該沒有區別。如果id-column是一個整型數據類型,請刪除引號,這樣MySQL就沒有困難時間轉換where子句的數據類型。

SELECT name FROM BIO WHERE id=2; 
SELECT dx FROM BIO WHERE id=2 
+0

是的,我猜數據類型:) – DaHaKa 2012-01-03 09:59:35

+0

事實上,沒有人知道,你要。再說一次:在給定的例子中,選定列的索引對於加快查詢速度並不是必需的! – bekay 2012-01-03 10:09:10

+0

謝謝你,我想聽到這個,是否有必要在這種情況下創建索引或不:) – DaHaKa 2012-01-03 10:12:23