mysql longtext丢失,MySQL – LONGTEXT字段导致SELECT-WHERE语句中的挂起

由于LONGTEXT字段,我遇到了问题.一切正常,但是当执行SELECT查询并且其中包含任何WHERE子句时,

mysql将进入休眠状态并且永远不会返回.只有80k记录和显式WHERE比较工作正常. (有些记录超过1M,很少有约700K,但其余的只有60到100KB).

例如:

[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;

有什么解决方案吗?或者我是否必须将longtext字段分隔为具有外键的新表?

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值