Mam problem z powodu pola LONGTEXT
. Wszystko działa dobrze, ale kiedy zapytanie SELECT jest wykonywane z dowolną klauzulą WHERE, mysql przechodzi w stan uśpienia i nigdy nie wraca. Jest tylko 80 000 rekordów i wyraźne porównanie WHERE działa dobrze. (Niektóre rekordy są powyżej 1M, kilka ma około 700K, a reszta to tylko 60 do 100KB).Pole MySQL - LONGTEXT zawiesza się w instrukcji SELECT-WHERE
Na przykład:
[HANGs]
SELECT * FROM item_info
WHERE added_on > '2013-02-14 19:40:05' AND added_on < '2013-02-15 19:40:05'
;which is like 2 rows only
[FINE]
SELECT * from item_info
WHERE item_id in (1, 10, 1000)
Czy to zwykłe zachowanie?
Oto schemat:
CREATE TABLE `item_info` (
`item_id` bigint(20) NOT NULL AUTO_INCREMENT,
`title_md5` varchar(35) NOT NULL,
`original_document` longtext NOT NULL,
`added_on` datetime NOT NULL,
PRIMARY KEY (`item_id`),
UNIQUE KEY `md5_Unique` (`title_md5`)
) ENGINE=MyISAM AUTO_INCREMENT=87781 DEFAULT CHARSET=utf8 CHECKSUM=1 DELAY_KEY_WRITE=1 ROW_FORMAT=DYNAMIC;
Czy istnieje rozwiązanie? Czy muszę oddzielić pole longtextu od nowej tabeli za pomocą klucza obcego?
to nie ma nic wspólnego z "długimi literami" porównywanie dat może być kosztowne. –
@ DanielA.White w rzeczywistości, ale w tym przypadku jest tylko 88k rekordów – Stephan
Brzmi jak problem z blokowaniem. Gdzie wykonujesz zapytanie? Z języka lub z wiersza poleceń SQL? Wątpię, żeby miało to coś wspólnego z LONGTEXT lub porównaniem dat. –