码迷,mamicode.com
首页 > 数据库 > 详细

MySQL索引

时间:2016-03-09 19:20:08      阅读:270      评论:0      收藏:0      [点我收藏+]

标签:mysql索引

1. 合成索引
合成索引就是根据具体的来生成hash值,查找的时候通过hash值来查找就可以了。像blob、text这种数据直接放在where条件中查询效率是非常低的,所以可以使用合成索引。由于索引是hashcode,所以合成索引只能用于精确查询,对‘<‘、‘>‘等范围查找是没有作用的。我们可以使用MD5()、SHA1()或者CRC32()来生成索引,也可以在Java等编程语言中生成。如果生成的hash字符串尾部有空格,就不能存入char类型字段里,因为char会去掉尾部空格。

create table synthetic_test(
    id int,
    content text,
    hash_index varchar(50)
);

insert into synthetic_test values (1, ‘abcd‘, md5(content));

技术分享

这个时候我们就可以直接使用下面的SQL来查询:

select * from synthetic_test where hash_index = MD5(‘abcd‘);


本文出自 “銅鑼衛門” 博客,请务必保留此出处http://jaeger.blog.51cto.com/11064196/1749147

MySQL索引

标签:mysql索引

原文地址:http://jaeger.blog.51cto.com/11064196/1749147

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!