我有一張表,保存我的付款記錄。它有用戶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)
以前沒有見過這樣的事情,我的錯誤是什麼?
ft_min_word_len僅用於'FULLTEXT'列,但我們不知道'subscriber_guid_index'類型是什麼。 –
它是字符(36),但我並沒有全文索引。 – tanaydin