2014-01-21 26 views
0

我有一張表,保存我的付款記錄。它有用戶ID字段......所以當我查詢這個領域沒有指數則返回4個值是這樣的...quering mysql有和沒有索引返回完全不同的結果

select count(id) from `mydb`.`sale_transaction` where subscriber_guid='4d03a32c-3dca-472b-a1db-0dfb0f66e64d'; 
+-----------+ 
| count(id) | 
+-----------+ 
|   4 | 
+-----------+ 
1 row in set (0.31 sec) 

所以我想通過這個領域更快地獲取數據,我說像這樣的指數...

alter table sale_transaction add index subscriber_guid_index(subscriber_guid); 
Query OK, 0 rows affected (1.00 sec) 
Records: 0 Duplicates: 0 Warnings: 0 

然後再次相同的查詢......

select count(id) from `mydb`.`sale_transaction` where subscriber_guid='4d03a32c-3dca-472b-a1db-0dfb0f66e64d'; 
+-----------+ 
| count(id) | 
+-----------+ 
|   0 | 
+-----------+ 
1 row in set (0.00 sec) 

如果我刪除索引,它再次工作......

alter table sale_transaction drop index subscriber_guid_index; 
Query OK, 0 rows affected (0.06 sec) 
Records: 0 Duplicates: 0 Warnings: 0 

select count(id) from `mydb`.`sale_transaction` where subscriber_guid='4d03a32c-3dca-472b-a1db-0dfb0f66e64d'; 
+-----------+ 
| count(id) | 
+-----------+ 
|   4 | 
+-----------+ 
1 row in set (0.29 sec) 

以前沒有見過這樣的事情,我的錯誤是什麼?

回答

1

問題,現在我可以查詢基於subscriber_guid。