数据库全文索引相关问题

课程.NET/C#课程[4]:SQLServer基础应用开发从基础出发为你讲解数据表的相关使用方法,而索引在数据表中的是一项必要掌握的:

如何将

selectipfromtabelxwhereiplike‘%192.168.0.1%‘

这种句子的性能优化。

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

全文索引只支持MyISAM表

select*from`data`.`test`wherematch (ip) against(‘192‘)

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

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

ft_max_word_len 84

ft_min_word_len 4

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

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

这里并不是支持这样搜索ip,ip搜索一般把IP地址存成 UNSIGNED INT,然后用转换函数进行搜索。

时间: 2024-10-27 08:03:30

数据库全文索引相关问题的相关文章

nagios数据库 主机相关信息查询

mysql> select a.host_object_id,a.display_name,a.address,b.hostgroup_id,b.alias from nagios_hosts a,nagios_hostgroups b,nagios_hostgroup_members c where c.host_object_id=a.host_object_id and c.hostgroup_id=b.hostgroup_id order by b.hostgroup_id;+-----

oracle数据库事务相关【weber出品必属精品】

事务的概念:事务:一个事务由一组构成一个逻辑操作的DML语句组成 事务有开始有结束,事务以DML语句开始,以Conmmit和Rollback结束.以下情况会使得事务结束: 1. 执行COMMIT 或者 ROLLBACK 语句 2. 执行DDL或者 DCL语句 3. 用户退出 4. 系统崩溃 一个事务可以包含下列语句: 1. 对数据做出一致性修改的DML语句 2. 一个 DDL 语句 3. 一个 DCL语句 DDL与和DCL语句执行的过程: 1. 首先发出COMMIT; 2. 执行对数据字典的DM

数据库存储过程相关知识

(一) SET ANSI_NULLS {ON | OFF} 指定在对空值使用等于 (=) 和不等于 (<>) 比较运算符时,这些运算符的 SQL-92 遵从行为. 注释 SQL-92 标准要求对空值的等于 (=) 或不等于 (<>) 比较取值为 FALSE.当 SET ANSI_NULLS 为 ON 时,即使column_name 中存在空值,使用 WHERE column_name = NULL 的 SELECT 语句仍返回零行.即使column_name 中存在非空值,使用 W

CS数据库的相关操作

备注:我们对于CS数据库的操作多数情况下只是查询操作,尽量不要在数据库中直接修改记录的值 第一.首先备份数据库 1.进入mysql数据库 [[email protected] ~]# mysql -u root -p Enter password: Welcome to the MySQL monitor.  Commands end with ; or \g. Your MySQL connection id is 188 Server version: 5.1.61-log Source d

MediaProvider 数据库Audio相关表格对应关系

Android的MediaProvider提供了一系列的Audio,Video,image等表格,用于APP检索相关的音视频图片信息. 首先来看看Audio相关的表格: ×图中颜色相同的部分表示来自于同一张表格或者视图 ×红色表的名字表示视图 为了查询Audio相关的信息,Android提供了丰富的Uri.Uri和表格的对应关系如下: MediaProvider 数据库Audio相关表格对应关系,布布扣,bubuko.com

数据库原理相关知识

数据库原理相关知识 made by @杨领well([email protected]) 一.基础知识 1. 简述数据库系统的特点. 数据结构化 : 这是数据库系统与文件系统的本质区别. 数据的共享性高.冗余度低且易扩充 : 数据共享可以大大减少数据冗余, 节约存储空间.数据共享还能够避免数据之间的不相容性和不一致性. 数据的独立性高 : 数据独立性包括物理独立性和逻辑独立性. 数据由数据库管理系统统一管理和控制 : 数据的安全性保护(保护数据以防止不合法使用造成的数据泄密和破坏).数据的完整性

mysql数据库相关基础与数据库的相关操作

mysql是目前主流的数据库管理系统之一,目前还是免费的. 数据库的发展史,基本概念就不再赘述,总之数据库就是存储数据的仓库,而我们所见到的所有其实都可以归类成数据. 什么是sql? SQL:(Structured Query Language)是结构化查询语言缩写.是一门专门与数据库管理系统打交道的语言. SQL语言:是关系型数据库的标准语言, 其主要用于存取数据,查询数据,更新数据和管理数据库系统等操作. 具体可以把SQL分为4个部分: 数据控制语言 ( DCL): 主要用于控制用户的访问权

dljd_011_jdbc再次封装工具类_把数据库的相关信息写到配置文件中,减低代码的耦合度

一.将连接数据库所需的相关信息写入到配置文件.通过读取配置文件来获取数据库的相关信息 package edu.aeon.aeonutils; import java.io.IOException; import java.io.InputStream; import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.SQLException; import

数据库面试相关

文章目录 MyISAM与INNODB的区别 MyISAM强调效率,执行速度比InnoDB快,但是不支持事务,不能在表损坏后修复数据. InnoDB不保存行号,就是在执行count操作时,需要扫描整个表,而MyISAM只要直接读出行号就行.注意:如果count与where组合使用两种引擎都是需要扫描整个表. MyISAM用的是表锁,InnoDB用的是行锁,其实并不一定,因为当不确定扫描对象时,还是会锁住整张表 MyISAM适用: 1. count操作多 2. 插入少,查询多 3. 不需要事务 In