2014-04-17 26 views
0

我是新來的。我正在使用MySql Workbench。 I want to use index on select clause.所以表現會提高。看到我試過的查詢。如何使用SQL查詢索引?

SELECT entity_row_id 
FROM entity_association USE INDEX(entity_row_id) 
WHERE assoc_entity_row_id IN ('1123') 
    AND (deleted =0 
     OR deleted IS NULL) 

我得到這個錯誤。但該列存在於entity_association表中。

Error: 1176. Key 'entity_row_id' doesn't exist in table 'entity_association'

,如果是我的查詢他們的任何變化,請給我建議。

+0

哪些呢下面的節目嗎? '顯示來自entity_association的索引' –

+1

您只能使用已經創建的索引。因此,要在特定字段上使用索引,請先創建一個然後使用它。 – Riz

+0

請給我看一個例子。這樣我就會明白。 – Addy

回答

0

如何使用SQL查詢索引?

Firstly,你的意思是你在存儲過程中創建索引?這是一個壞主意 - 如果你運行存儲過程兩次,它會失敗,因爲索引已經存在。

Secondly,您的查詢不使用索引中提到的列,所以它不會有任何影響。

Thirdly,正如JodyT寫的,查詢分析器(SQL Server本身)將決定使用哪個索引;它幾乎肯定比你更好。

Finally,爲加快您提到的查詢速度,請在artc和atelr列上創建索引。

0

在sql查詢中沒有索引。我們只有數據庫結構。

請使用

ALTER TABLE `tablename` ADD INDEX `entity_row_id` (`entity_row_id`) 
+0

謝謝hoangvu68我會嘗試這一個.. :) – Addy

+0

如果你有你的電腦phpmyadmin ,我覺得很容易做到這一點。不需要使用腳本,我們可以通過使用接口來完成。 – hoangvu68