मैं कारण LONGTEXT
क्षेत्र के लिए एक मुद्दा हो रहा है में लटका। सबकुछ ठीक काम करता है, लेकिन जब किसी चयन क्वेरी को किसी भी WHERE क्लॉज के साथ निष्पादित किया जाता है, तो MySQL सो जाता है और कभी वापस नहीं आता है। केवल 80k रिकॉर्ड और स्पष्ट हैं जहां तुलना ठीक काम करती है। (कुछ रिकॉर्ड 1 एम से अधिक हैं, कुछ लगभग 700 के हैं, लेकिन बाकी केवल 60 से 100 केबी की तरह हैं)।MySQL - LongText क्षेत्र कारणों का चयन करें-WHERE कथन
उदाहरण के लिए:
[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)
यह सामान्य व्यवहार है?
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;
कोई समाधान है:
यहाँ स्कीमा है? या क्या मुझे लांगटेक्स्ट फ़ील्ड को एक विदेशी तालिका के साथ एक नई तालिका में अलग करना है?
'लांगटेक्स्ट' तिथि तुलना के साथ इसका कोई संबंध नहीं है महंगा तुलना महंगा हो सकती है। –
@ डैनियलए। वास्तव में लेकिन इस मामले में केवल 88k रिकॉर्ड – Stephan
लॉकिंग समस्या की तरह लगता है। आप क्वेरी कहां निष्पादित कर रहे हैं? किसी भाषा से या SQL कमांड लाइन से? मुझे संदेह है कि इसमें LONGTEXT या दिनांक तुलना के साथ कुछ भी करना है। –