首页 | 资讯动态 | linux基础 | 系统管理 | 网络管理 | 编程开发 | linux数据库 | 服务器技术 | linux相关 | linux认证 | 嵌入式 | 下载中心 | 专题 | linux招聘 | 镜像站
OKLinux中文技术站
·设为首页
·加入收藏
·联系我们
系统管理: 中文环境 系统管理 桌面应用 内核技术 | Linux基础: 基础入门 安装配置 常用命令 经验技巧 软件应用 | Linux数据库: Mysql Postgre Oracle DB2 Sybase other
网络管理: 网络安全 网络应用 Linux服务器 环境配置 黑客安全 | 编程开发: PHP CC++ Python Perl Shell 嵌入式开发 java jsp | PHP技术: PHP基础 PHP技巧 PHP应用 PHP文摘
Linux资讯 Linux招聘 Linux专题 Apache | Linux相关: 硬件相关 Linux解决方案 Linux认证 企业应用 其它Unix | 相关下载: 资料下载 参考手册 开发工具 服务器类 软路由 其它
 技术搜索:
会员中心 注册会员 高级搜索  
  → 当前位置:首页>linux数据库>mysql>正文

解析:怎样在MySQL中获得更好的搜索结果

http://www.oklinux.cn  2008-03-07  来源: ccidnet bosinvhai  会员收藏  游客收藏  【 】 

目前,很多互联网应用程序都提供了全文搜索功能,用户可以使用一个词或者词语片断作为查询项目来定位匹配的记录。在后台,这些程序使用在一个SELECT查询中的LIKE语句来执行这种查询,尽管这种方法可行,但对于全文查找而言,这是一种效率极端低下的方法,尤其在处理大量数据的时候。

MySQL数据库针对这一问题提供了一种基于内建的全文查找方式的解决方案。在此,开发者只需要简单地标记出需要全文查找的字段,然后使用特殊的MySQL方法在那些字段运行搜索,这不仅仅提高了性能和效率(因为MySQL对这些字段做了索引来优化搜索),而且实现了更高质量的搜索,因为MySQL使用自然  语言来智能地对结果评级,以去掉不相关的项目。

此篇文章将向您讲述在MySQL中如何进行全文搜索。

1、设置基本表格

从创建例子表格开始,使用以下的SQL命令

mysql> CREATE TABLE reviews (id INT(5) 
PRIMARY KEY NOT NULL AUTO_INCREMENT, data TEXT);

以上命令创建了一个简单的音乐专集资料库(主要是整段的文字),然后向这个表格中添加一些记录:

mysql> INSERT INTO `reviews` (`id`, `data`) VALUES
(1, 'Gingerboy has a new single out called Throwing Rocks. 
It\'s great!');mysql> INSERT INTO `reviews` (`id`, `data`) 
VALUES (2, 'Hello all, I really like the new Madonna single. 
One of the hottest tracks currently playing...
I\'ve been listening to it all day');mysql> INSERT INTO `reviews` 
(`id`, `data`)VALUES (3, 'Have you heard the new band Hotter 
Than Hell?They have five members and they burn their 
instruments when they play in concerts. 
These guys totally rock! Like, awesome, dude!');

验证数据的正确录入:

mysql> SELECT * FROM reviews;
 ---- -------------------------------------------- 
| id | data                                       |
 ---- -------------------------------------------- 
|  1 | Gingerboy has a new single out called ...  |
|  2 | Hello all, I really like the new Madon ... |
|  3 | Have you heard the new band Hotter Than... |
3 rows in set (0.00 sec)

2、定义全文搜索字段

接下来,定义您要作为全文搜索索引的字段

mysql> ALTER TABLE reviews ADD FULLTEXT INDEX (data);
Query OK, 3 rows affected (0.21 sec)
Records: 3  Duplicates: 0  Warnings: 0

使用SHOW INDEXES命令来检查索引已经被添加了:

mysql> SHOW INDEXES FROM reviews;
 --------- --------------- -------- ------ ------------ --------- 
| Table   | Column_name   | Packed | Null | Index_type | Comment |
---------- --------------- -------- ------ ------------ --------- 
| reviews |  id           | NULL   |      | BTREE      |         || 
reviews |  data         | NULL   | YES  | FULLTEXT   |         |
 --------- --------------- -------- ------ ------------ --------- 
共3页: 上一页 1 [2] [3] 下一页

上一篇:将数据从MySQL迁移到 Oracle的注意事项   下一篇:教你快速掌握 MySQL数据库中触发器的应用


收藏于收藏夹】 【评论】 【推荐】 【打印】 【关闭
相关文档
·教你快速掌握 MySQL数据库中触发器的应用
·将数据从MySQL迁移到 Oracle的注意事项
·无需编程直接利用图形界面导入导出的方法
·细化解析:怎样修改 MySQL数据库中的密码
·解析:优化MySQL数据库性能的几个好方法
·教你轻松掌握如何保护MySQL中的重要数据
·细化解析:怎样把你的 MySQL 完全中文化
·带你轻松接触 MySQL中损坏的MyISAM表
·解析:教你轻松的掌握 ENUM和SET约束
·细化解析:与浮点比较有关的几个问题
·解析:以mysql_开始的未定义引用错误
·如何正确编写高质量高性能的MySQL语法
·实例解析:MySQL数据库连接过多的错误
·轻松解决 MySQL数据库字符集的出错问题
·细化解析:MySQL 搜索中的大小写敏感性
·细化解析:如何正确的更改表中的列顺序
发表评论
密码: 匿名评论
评论内容:

(不超过250字,需审核后才会公布,请自觉遵守互联网相关政策法规)
 
  最新文档
·深入讲解"InnoDB"和"MyISAM"的不同之处
·MySQL的存储过程写法和"Cursor"的使用
·如何安装配置基于2台服务器的MySQL集群
·带你轻松接触一个检测MySQL状态的脚本
·实例讲解"MySQL"在记录不存在时的插入
·无需编程直接利用图形界面导入导出的方
·教你快速掌握 MySQL数据库中触发器的应
·将数据从MySQL迁移到 Oracle的注意事项
·细化解析:怎样修改 MySQL数据库中的密
·解析:优化MySQL数据库性能的几个好方法
·教你轻松掌握如何保护MySQL中的重要数
·细化解析:怎样把你的 MySQL 完全中文化
  阅读排行
·Linux 安装 Mysql
·如何在Linux系统中安装MySQL
·在Linux 环境下安装 Mysql
·在Linux上安装MySQL Server 5.0
·图形化管理MySQL更轻松
·[Mysql]IIS+mysql+php相关知识介绍
·MySQL创始人David Axmark 访谈实录
·你应该知道的10个MySQL客户启动选项
·Heartbeat_2.0.3配置MySQL5.0.8集群
·Linux系统上安装MYSQL数据库的方法
·[MySQL]入门学习从安装入门到学习操作
·MySQL中文参考手册-创造并使用数据库
·MySQL5.0新特性教程 存储过程:第三讲
·MySQL 5.0新特性教程 存储过程:第一讲
·[Mysql]Mysql数据库管理系统优化方案
网摘收藏: