今天有同学问题,搜索ip的时候怎样能把

select ip from tabelx where ip like '%192.168.0.1%'

这种句子的性能优化。

的确,使用 like %x 的方式,数据库没办法使用索引,一定会进行整表扫描,所以我们需要避免这种方法。之前同事叫我尝试一下用 match() against 的方法。于是顺便试了试,

——前提:全文索引只支持MyISAM表

select * from `data`.`test` where match (ip) against('') 

这样搜索出来没有结果。google了一会儿,发现网上的例子都是搜索英文单词的,于是在ip里面混了点英文单词试了一下,有结果。

再google后发现,mysql默认对全文检索有单词的字符限制,即:

ft_max_word_len 84

ft_min_word_len 4

所以这里的ip没法搜索,因为用 . 分隔的会被当成是一个单词,ip只有3位。

于是把ft_min_word_len修改为1,重启mysqld服务,修复表,重建索引,搜索成功。

这里并不是支持这样搜索ip,ip搜索一般把IP地址存成 UNSIGNED INT,然后用转换函数进行搜索,参考:http://coolshell.cn/articles/1846.html


下面是关于全文检索的一些介绍:

---to be continue

mysql FullText全文索引的问题的更多相关文章

  1. MySQL使用全文索引(fulltext index)---高性能

    转载地址:https://blog.csdn.net/u011734144/article/details/52817766/ 1.创建全文索引(FullText index) 旧版的MySQL的全文 ...

  2. MySQL使用全文索引(fulltext index)

    1.创建全文索引(FullText index) 旧版的MySQL的全文索引只能用在MyISAM表格的char.varchar和text的字段上. 不过新版的MySQL5.6.24上InnoDB引擎也 ...

  3. MySQL索引结构之Hash索引、full-text全文索引(面)

    Hash索引 主要就是通过Hash算法(常见的Hash算法有直接定址法.平方取中法.折叠法.除数取余法.随机数法),将数据库字段数据转换成定长的Hash值,与这条数据的行指针一并存入Hash表的对应位 ...

  4. MySQL中文全文索引插件 mysqlcft 1.0.0 安装使用文档[原创]

    [文章+程序 作者:张宴 本文版本:v1.0 最后修改:2008.07.01 转载请注明原文链接:http://blog.zyan.cc/post/356/] MySQL在高并发连接.数据库记录数较多 ...

  5. MySQL 之全文索引

    最近在复习数据库索引部分,看到了 fulltext,也即全文索引,虽然全文索引在平时的业务中用到的不多,但是感觉它有点儿意思,所以花了点时间研究一下,特此记录. 引入概念通过数值比较.范围过滤等就可以 ...

  6. paip.mysql fulltext 全文搜索.最佳实践.

    paip.mysql fulltext 全文搜索.最佳实践.  作者Attilax  艾龙,  EMAIL:1466519819@qq.com  来源:attilax的专栏 地址:http://blo ...

  7. mysql开启全文索引功能

    注意:全文检索模块需要mysql开启全文索引功能,开启方法:修改mysql配置文件:window服务器为my.ini,linux服务器为my.cnf,在 [mysqld] 后面加入一行“ft_min_ ...

  8. fulltext全文索引的使用

    Fulltext全文索引 Fulltext相关属性 查看数据库关于fulltext的配置 SHOW VARIABLES LIKE 'ft%'; -- ft就是FullText的简写 ft_boolea ...

  9. fulltext不支持Mysql中文全文索引

    Mysql对某表某字段建立了fulltext索引,也不支持中文. 当数据量很大的时候,比较成熟的做法是使用专门的全文索引系统,用这些专业的全文索引系统来分词,以mysql数据库中的数据作为数据源,来分 ...

随机推荐

  1. sonarqube 5.6

    转载:https://www.jianshu.com/p/402987500bfd 一. 简介 Sonar是一个用于代码质量管理的开源平台,用于管理源代码的质量.通过插件形式,可以支持包括java,C ...

  2. 【SCM】关于Gradle与maven的几篇文章

    Gradle官方文档:https://docs.gradle.org/current/userguide/installation.html#sec:download 使用 Gradle 命令行:ht ...

  3. JXL基本操作

    一.jxl.jar概述 通过java操作excel表格的工具类库 支持Excel 95-2000的所有版本 生成Excel 2000标准格式 支持字体.数字.日期操作 能够修饰单元格属性 支持图像和图 ...

  4. sublime text 3中文乱码问题解决的方法

    一.首先要确保本机sublime已经有安装包管理器,假设没有.安装方法:http://blog.chinaunix.net/uid-12014716-id-4269991.html 文中的第一步:安装 ...

  5. Java远程方法协议(JRMP)

    Java远程方法协议(英语:Java Remote Method Protocol,JRMP)是特定于Java技术的.用于查找和引用远程对象的协议.这是运行在Java远程方法调用(RMI)之下.TCP ...

  6. mysql可视化工具

    比较mysql manager lite 和phpmyadmin: 1.phpmyadmin有中文界面, 可以快速入门,但友好性远没有SQL Manager Lite强大 2.SQL Manager ...

  7. 如何快速的得到string的最后一个字符

    str='python' print str[-1]

  8. Ajax学习(二):模仿jQuery的Ajax封装工具

    通过上一节的学习,基本了解Ajax的使用, 但是这样使用很麻烦,这里封装ajax为一个方法,作为一个ajax工具,传入相应参数就可以实现ajax的使用. 模仿jQuery的Ajax. 如下是jQuer ...

  9. 无法启动此程序,因为计算机中丢失 api-ms-win-crt-stdio-l1-1-0.dll 解决

    问题描述 最近用一台Windows Server 2012 R2系统的机器的时候碰到了这个问题. 因为在网上看了很多解决方案,都没有很好的解决.所以记录一下这个问题的解决. 之前使用VS2013编译出 ...

  10. shell脚本启动node服务

    #!/bin/bash cd /root/dev-web source /etc/profile /usr/local/node-8.11.1/bin/npm i && EGG_SER ...