我有一張擁有數百萬條記錄的大表。MySQL是否在創建新索引時使用現有索引?
Table `price`
------------
id
product
site
value
該表是全新的,並且沒有創建索引。
我再發放給新的索引創建與下面的查詢請求:
CREATE INDEX ix_price_site_product_value_id ON price (site, product, value, id);
這花了很長很長的時間,我最後一次檢查跑了5000+秒,因爲機器的。
我想知道如果我發出另一個索引創建,它會使用過程計算中的現有索引?如果是這樣,以什麼形式?
下運行查詢1:
CREATE INDEX ix_price_product_value_id ON price (product, value, id);
下運行查詢2:如果你使用MySQL 5.1版,而InnoDB存儲引擎
CREATE INDEX ix_price_value_id ON price (value, id);
聽起來很酷。如何檢查機器是否安裝了InnoDB插件? – Pentium10 2010-10-02 10:06:19
在你的MySQL客戶端執行'SELECT VERSION()'。你的MySQL服務器是v5.1 +嗎? – 2010-10-02 10:07:20
我的版本是:5.1.33-community-log – Pentium10 2010-10-02 10:08:18