首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Mysql:大文本类型字段查询速度慢的问题

问Mysql:大文本类型字段查询速度慢的问题
EN

Stack Overflow用户
提问于 2013-02-21 06:06:41
回答 2查看 804关注 0票数 0

我有一个超过15万行的表。表中的一列具有“文本”类型。此字段包含超过50k个字符的文本。这意味着我有超过50k个字符的150k文本块存储在该列中。

文本是不同网页的HTML源。因此,我不能使用varchar类型,因为我需要保留换行符。

当在选中此列的位置或在where子句中执行查询时,查询速度非常慢,并且需要花费很长时间才能完成。

例如,执行一个以以下开头的简单查询:

代码语言:javascript
复制
SELECT my_text_column FROM my_table LIMIT 1000

花30秒以上的时间。30秒,只占表的1/150,这真的很糟糕。

我尝试向该列添加索引,但似乎无法向文本类型的列添加索引。

我可以做什么来优化这个列,并确保我的所有查询都会快速进行?

编辑:

完整的表结构为`:

代码语言:javascript
复制
CREATE TABLE IF NOT EXISTS `my_table` (
  `url_id` int(10) NOT NULL AUTO_INCREMENT,
  `url` varchar(500) NOT NULL,
  `source` text NOT NULL,
  `completed` tinyint(4) NOT NULL DEFAULT '0',
  PRIMARY KEY (`url_id`),
  KEY `completed` (`completed`),
  KEY `url` (`url`)
) ENGINE=InnoDB  DEFAULT CHARSET=latin1 AUTO_INCREMENT=150775 ;
EN

回答 2

Stack Overflow用户

发布于 2013-02-21 09:23:54

如果您的列值至少为50K,那么您发布的查询将检索50M的结果集。如果是这样的话,花很长时间也就不足为奇了。

票数 0
EN

Stack Overflow用户

发布于 2013-02-21 06:34:32

你有没有尝试过全文索引?与正常索引略有不同。关于msdn的大量示例

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14990849

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档