mysql blob 索引_mysql中blob,text字段的合成索引

在处理mysql 性能时,遇到了longtext 类型性能问题,在网上找了一些解决方案,感觉这个不错。整理文档供以后参考

在mysql中,原来有一个叫合成索引的,可以提高blob,text字段的效率性能,

方法一:

但只能用在精确查询,核心是增加一个列,然后可以用md5进行散列,用散列值查找 则速度快

比如:

create table abc(id varchar(10),context blog,hash_value varchar(40));

insert into abc(1,repeat('hello',2),md5(context));

查找

select from abc where hash_value=md5(repeat('hello',2));

方法二:

如需要进行模糊,则提供了前缀索引

create index idx_blob on abc(context(100));

但是这个索引占的空间很大,可以选择字段前多少位做索引,这里则只对前100个字符模糊查询,

注意%不能放前面,只能 select * from abc where context like 'hello%'

你可能感兴趣的:(mysql,blob,索引)