第一篇:各种数据库的介绍以及数据库优缺点浅析
各种数据库的介绍以及数据库优缺点浅析
一、各种数据库简介
DB2: 关系型数据库, 适用于大型的分布式应用系统, 确实是非常非常好的数据库, 无论稳定性, 安全性, 恢复性等等都无可挑剔, 而且从小规模到大规模的应用都非常适合, 但是使用起来觉得非常繁琐, 首先安装的时候要求颇多, 很多软件都可能和DB2产生冲突, 因为一般DB2都是安装在小型机或者服务器上的, 所以在PC上安装很费事儿.新建一个库需要设置很多东西, 分配各种各样的存储空间, 我们在讲DB2的时候没有将多少应用, 几乎整节课都是在配置它.Oracle: 关系型数据库, 是目前市场占有率最大的数据库, 安装起来很繁琐, 而且程序文件很多...用起来非常方便, 对于初学者, 有很简单的配置, 对于要求很高的企业级应用, 也有很复杂的配置和管理方法, 有很强大的数据字典, 可以说是最实用的数据库了, 但是价格不菲...MS SQL: MS SQL有两个版本,分别是2000和2005, 这两个版本差了很多, 2000的数据库做的不错, 程序很小, 操作简单, 功能较全, 算是各方面都很中庸的数据库吧, 是中型数据库;2005中加入了很多功能, 复杂多了, 有大型数据库的风范了, 而且价格也变高了, 个人觉得除非用的是Window Server 系统或者针对Microsoft产品, 否则不如用Oracle好.MYSQL: 这是一个很好的关系型数据库, 免费, 而且功能很全, 程序又小, 安装简单, 现在很多网站都用MYSQL, 在字段约束上做的差了点儿, 其他的都不错, 和MS SQL 用着差不多.Access: 典型的桌面数据库, 觉得做个单机系统, 比如记账, 记事儿什么的还成, 在局域网里跑个小系统都够呛, 数据源连接很简单, 因为是Office的数据库, 所以Windows自带数据源.二、各种数据库在不同方面的优缺点
1、开放性
SQL Server
只能在windows 上运行,没有丝毫的开放性,操作系统的系统的稳定对数据库是十分重要的。Windows9X系列产品是偏重于桌面应用,NT server只适合中小型企业。而且windows平台的可靠性,安全性和伸缩性是非常有限的。它不象unix那样久经考验,尤其是在处理大数据量的关键业务时。
Oracle
能在所有主流平台上运行(包括 windows)。完全支持所有的工业标准。采用完全开放策略。可以使客户选择最适合的解决方案。对开发商全力支持。
DB2
能在所有主流平台上运行(包括windows)。最适于海量数据。DB2在企业级的应用最为广泛,在全球的500家最大的企业中,几乎85%以上用DB2数据库服务器,而国内到97年约占5%.2、可伸缩性,并行性
SQL server
并行实施和共存模型并不成熟。很难处理日益增多的用户数和数据卷。伸缩性有限。Oracle
平行服务器通过使一组结点共享同一簇中的工作来扩展windownt的能力,提供高可用性和高伸缩性的簇的解决方案。如果windowsNT不能满足需要, 用户可以把数据库移到UNIX中。
DB2
DB2具有很好的并行性。DB2把数据库管理扩充到了并行的、多节点的环境。数据库分区是数据库的一部分,包含自己的数据、索引、配置文件、和事务日志。数据库分区有时被称为节点或数据库节点。
3、安全性
SQL server
没有获得任何安全证书。
Oracle Server
获得最高认证级别的ISO标准认证。
DB2
获得最高认证级别的ISO标准认证。
4、性能
SQL Server
多用户时性能不佳
Oracle
性能最高,保持windowsNT下的TPC-D和TPC-C的世界记录。
DB2
适用于数据仓库和在线事物处理性能较高。
5、客户端支持及应用模式
SQL Server
C/S结构,只支持windows客户,可以用ADO,DAO,OLEDB,ODBC连接。
Oracle
多层次网络计算,支持多种工业标准,可以用ODBC,JDBC,OCI等网络客户连接。DB2
跨平台,多层结构,支持ODBC,JDBC等客户。
6、操作
SQL Server
操作简单,但只有图形界面。
Oracle
较复杂, 同时提供GUI和命令行,在windowsNT和unix下操作相同。
DB2
操作简单,同时提供GUI和命令行,在windowsNT和unix下操作相同。
7、使用风险
SQL server
完全重写的代码,经历了长期的测试,不断延迟,许多功能需要时间来证明。并不十分兼容早期产品。使用需要冒一定风险。
Oracle
长时间的开发经验,完全向下兼容。得到广泛的应用。完全没有风险。
DB2
在巨型企业得到广泛的应用,向下兼容性好。风险小。
第二篇:全文数据库的优缺点
全文数据库集文献检索与全文提供于一体,是近年来发展较快和前景看好的一类数据库。目前的中文全文数据库有:中国期刊全文数据库(清华同方)、中文科技期刊数据库(维普)、万方系统的数字化期刊全文数据库(万方)。
三种全文数据库共同优点
1、免去了检索书目数据库后还得费力去获取原文的麻烦。
2、多数全文数据库提供全文字段检索,这有助于文献的查全。
3、三个库都可以进行简单检索、二次检索、高级检索等,检索策略都可以编辑、保存。共同的缺点
1、阅读全文数据库中的全文,计算机内必须安装有全文浏览器。
2、通用的全文格式较少,主要有PDF格式和HTML格式。
各类全文数据库的优缺点:
1、从期刊种类收录情况来看,清华同方收录期刊为8712种,其中核心期刊1750多种;万方收录5928种,核心期刊2374种;维普收录12000余种,核心期刊1810种。维普收录期刊总数最多,其中包括了具有一定影响且连续性的非正式发行刊物。三个数据库对核心期刊的收录均沿用了自身设定的遴选标准,因此无法作出绝对的判断。但从以上三大数据库对核心期刊收录量分别占期刊总数的百分比来看,清华同方占20.1%、维普占15.1%,万方占40.0%。2007年以来医学中华系列杂志由万方独家发行,这样万方数据库在收录核心期刊中占有绝对优势。
2、从收录全文篇数来看(截止日期为2007年年底),清华同方收录期刊全文文献6196125条,维普收录期刊文献12514411条,万方数字化期刊收录期刊文献约800万条,维普收录期刊全文文献最多,特别是在学科交叉中体现较为明显,例如以中药葛根为关键词,时间限定在2003年~2007年,维普检索是2744条,清华同方是2315条,万方数据库是2061条,数据相差的原因是葛根不仅仅在医药专辑中能查到,在农林专辑中也可以查到。
3、从学科覆盖范围来看,清华同方和维普都涵盖了文理工农医全部学科的内容,而万方学科覆盖范围在人文科学方面要稍显不足。
4、从检索字段来看,清华同方提供的检索字段最多,其次是维普,而万方只提供了最基本的检索字段。清华同方除了提供一些必需的检索字段,还提供了诸如参考文献,全文,智能检索,基金,中图分类号,ISSN等字段可以更方便更准确地检索到所需的文章。
5、从对检索结果的处理方式来看,万方对于检索结果的处理方式更为全面周到,尤其是对检索结果的排序,在三个库中是最全面的。
6、从检索导航功能来看,三个库中,清华同方的导航途径最多,有多种导航系统,检索查询更为方便自如,而万方和维普各只有三种导航系统。
7、关于引文的查询,清华同方和万方都有专门的引文库,维普也能进行引文查询。
8、从能否进行检索范围限定来看,维普可进行范围限制的功能最全面,其次是清华同方,而万方不可进行范围限制。
9、从语言界面看,清华同方和万方有简体中文,繁体中文,英文三种,适应不同语言的检索人员使用,检索的更多更广。维普只有简体中文一种语言界面。
10、清华同方实现了对CNKI各源数据库统一分类导航,新的导航统一为10大专辑,168个专题数据库,期刊、学位论文、会议论文、报纸四种载体在统一导航的机制下,进行事实上的整合,实现跨库检索功能。学校图书馆还可以向清华同方公司申请到50个漫游用户,使用漫游帐号,读者可不受IP地址限制,在校园网外同样可以检索学校订购该数据库资源和下载文章。这样更方便了家住校外及出差外地的老师同样也能使用CNKI数据库资源,真正体会到无距
离感。这个网上漫游功能是其它数据库还没有的。但万方数据库也能在自己整个资源下进行跨库检索功能。
第三篇:CALIS数据库介绍
CALIS数据库介绍
CALIS(China Academic Library & Information System)是中国高等教育文献保障系统(http://)的英文缩写,与中国教育科研网(CERNET)均为国家“211工程”的公共服务体系项目,其主要目标是为高等教育的教学、科研提供丰富的学术研究资源和服务。
CALIS管理项目的中心设在北京大学,迄今参加CALIS项目建设和获取CALIS服务的成员馆已超过500家。其数据库建设开始于1998年底,到目前为止,已完成的数据库有:CALIS“高校学位论文库”、CALIS“联合目录数据库”、CALIS“会议论文库”、CALIS“中文现刊目次库”。这些数据库同CALIS联合引进的国外数据库一起,构成了丰富的数字资源,并在此基础上提供了公共查询、馆际互借、文献传递等服务,形成了较为完整的高校文献信息资源服务体系,即中国学术资源网(http:///cweb)。
CALIS“高校学位论文库”的文献来源于“211工程”的61所重点学校的硕、博士学位论文、分别为1.5万名硕士和3400名博士的7万余条论文数据。目前该库只收录题录和文摘,没有全文。全文服务通过CALIS的馆际互借系统提供。
CALIS“联合目录数据库”是全国“211工程”350多所高校图书馆馆藏联合目录数据库,是CALIS在“九五”期间重点建设的数据库之一。它的主要任务是建立多语种书刊联合目录数据库和联机合作编目、资源共享系统,为全国高校的教学科研提供书刊文献资源网络公共查询,支持高校图书馆系统的联机合作编目,为成员馆之间实现馆藏资源共享、馆际互借和文献传递奠定基础。
CALIS“会议论文库”收录来自“211工程”所属重点高校每年主持的国际会议的论文。重点大学每年主持召开的国际会议在20个左右。其中大多数的会议提供正式出版的会议论文集。该库年更新会议论文数可达1.5万余篇,初期收录总量达3万多篇。
CALIS“中文现刊目次库”是全国“211工程”所属高校图书馆自建数据库的子项目之
一。它的主要任务是揭示学科专业的核心期刊的文献信息。收录高校图书馆收藏的国内重要中文学术期刊的篇目,这些期刊的内容涉及社会科学和自然科学的所有学科。该库以各成员馆的馆藏为基础,对读者提供网上文献检索、最新文献报道服务和全文传递服务等灵活多样的优质服务。
检索方法:
进入CALIS主页,点击“子项目建设”,选择需要的子项目。我们常用的是“高校学位论文子项目”,点击后进入子项目网站:http://opac.calis.edu.cn,选择您要查询的数据库,点击“选择上述数据源”,进入后,点击IP登录,即可查询。然后把您检索到的信息填写在济南大学图书馆文献传递服务申请单上,传送给我们,我们就可为您提供原文传递服务。
第四篇:北大法意网数据库介绍
北大法意网数据库介绍
目
录
一、北大法意介绍..........................................................................2
二、主要模块及应用价值介绍......................................................3
(一)权威、及时的中文法律信息查询系统.........................3 信息资源简介.......................................................................3 应用价值介绍.......................................................................4
(二)国家司法必备在线模考系统.........................................4 系统简介...............................................................................4 特色功能及价值介绍...........................................................5
(三)实用、易用的实证研究自主服务平台.........................6 平台简介...............................................................................6 应用价值介绍.......................................................................6
一、北大法意介绍
以案例实证研究科研项目为基石,以北京大学实证研究所为前身,秉承着“实践法的精神”,北大法意成立于2003年1月,由北京大学科技开发部参股,北大法意和北大实证法务研究所共享版权。
北大法意拥有吴志攀,王家福、梁定邦、陈志武等国内外知名专家组成的顾问团队,公司由毕业于北大、清华、人大、法大等名校的法律、计算机和工商管理专家人士组织运营,与北京大学研究机构、学术团队紧密结合。
经过7年的发展和开拓,北大法意的数据量和业务量有了成倍的增长,目前有近120多万的法律法规和案例等30多种各类法律信息资源,有200多所院校已经成为北大法意的正式用户,已成为国内中文法律类资源信息应用的领军企业。
典型用户:北京大学,清华大学,中国政法大学,中南财经政法大学,西南政法大学,华东政法大学,西北政法大学,武汉大学,南京大学,厦门大学,中国地质大学,浙江大学,华中科技大学,华中师范大学,复旦大学,上海交通大学,东北财经大学,海南大学,中国地质大学,山东大学,安徽财经大学,耶鲁大学,哈佛大学,香港城市大学等国内外近300余所高校。
二、主要模块及应用价值介绍
(一)权威、及时的中文法律信息查询系统
提供法规、案例等法律信息资源查询服务,满足高校师生教学、科研中对法律信息资源的需求,通过法律文件、裁判文书、法学论著等文献获取纵深的专业知识。 信息资源简介
法院案例库,目前共收录最高院及各省市各层级法院裁判文书、各地媒体报道案例。近35万,包括刑事、民事、行政、海事海商、知识产权等多方面的内容。数据来源于最高院公报、最高检公报、人民法院案例选、中国审判案例要览、中国审判指导、最高人民法院判案大系及各地法院网站等。每日更新300-500个,每年更新12-15万数据的速度递增。另外还提供港澳台、外国法院等不同法域案例库。
法律法规库,收录了1949年至今中央及全国各地方各层级法律法规及文件近55万部,涵盖宪法法律、行政法规、部门规章、司法解释、规范性文件、国际条约等。数据来源主要包括:人大、国务院、两高公报;其次是政府及直属事业单位网站,如中央政府、各部委网站、中国法院网、人民网、法制网等;还有法律专业出版社权威正式出版物等。每日更新200部以上,每年更新10万数据的速度递增。另外还提供港澳台、外国等不同法域法规库。 应用价值介绍
从在学术支持方面出发,基于法律信息资源,广大师生可以进行个例分析,即对个案或则是某一法律制度进行研究分析;也可以进行比较研究,即对某一个法律规定或制度进行比较法研究;另外还可以进行法律实证,即利用法律条文或司法判例进行量化分析、经验研究,借助事实学的方法研究法律规范,借助新研究方法攀登科研高峰。
从教学支持方面出发,利用法律信息资源,可以开展实践教学工作,即利用案例或法律规范进行案例剖析、法律体制解构等多样化、实务性的教学。可以作为论文、教材的撰写资料,丰富论文、教材的实务内容;还可以利用精品案例库数据包、法律点等内容进行实务练习,即学生可以先自己阅读案例,归纳总结案例的核心争议点,与由资深法律编辑提炼出的法律点(案例的核心争议点)进行对比,这样的实务练习即可以锻炼自己的阅读、分析归纳能力,又可以间接获得丰富的实务经验。
(二)国家司法必备在线模考系统
满足高校学生国家司法考试备考需求,协助高校学生跨越国家司法考试之门。 系统简介
北大法意司考在线系统提供历年真题、模拟考试、必备法规、我的题库、我的资料、考试大纲、司法文书等七大模块,以满足用户不同需求,真正意义上帮助法学专业学生以及有志向通过司法考试的外专业学生形成有效的复习,考试模拟。该系统包含历年考试真题、近万套模拟试卷,每的考试大纲以及配套的司法考试法规及文书,在海量数据基础之上,我们提供灵活的试卷生成机制,学生可以按照学科、试卷、题型、数量自助生成适合自己满意的试卷,节约买书买题的成本,提升复习的效率,顺利跨越司法考试之门。 特色功能及价值介绍
1、专业的模拟试题出题规则。系统融合了高精度的司法考试出题规则,在精确分析了司法考试历年真题的学科知识点分布情况的基础上,将出题点的概率充分植入了系统中,使得模拟测试的出题效果更加符合司法考试的真实效果,给考生更真实的考试模拟测试体验。
2、庞大的司法考试真题、模拟题库。系统中囊括了7000余条的真题和模拟题,覆盖14门学科、各种题型。题库内容丰富,满足考生不同需求。
3、独有的必备法规、真题(模拟题)之间的全互动链接功能。依托北大法意的最大中文法规数据库的优势,囊括当年司法考试的必备法规。同时,在必备法规库的法规全文页面,提供了“本法历年真题测试”、“本条历年真题测试”、“本法模拟题测试”等三个强大的模拟功能,方便考生有针对性地逐一突破重要法规的知识点。
4、方便的自我管理功能。提供模拟考试的收藏功能、具体试题的收藏功能,便于考生复习使用。
(三)实用、易用的实证研究自主服务平台
满足高校师生对正在兴起的实证研究法学的研学需求,借助新研究方式攀登科研高峰。平台简介
北大法意协同北京大学实证法务研究所在此平台中有针对性的设置了“课题资源”、“我的课题”、“研究成果”、“分析报告”、“在线交流”等多个模块,这些模块可以协助法律科研人员完成数据采集、样本抽样、分析框架设计、统计分析、研究团队管理等法律实证研究所需工作。平台亦同时提供、法律实证研究方法的培训材料、研究范例及文献成果等参考资料。 应用价值介绍
法律实证研究的成果目前正在大量的利用作为专业言论、论文论证、专业课题研究依据,其研究结果具有原创性、被引用率高、难以辩驳性等特点。
但在法律实证研究实操中存在着研究者单凭自己的力量收集研究样本比较困难,整理大批量的数据,极其消耗时间,需要掌握一定的统计方法,但研究者通常缺乏相关背景知识等问题
北大法意提供的实证研究平台在很大程度上解决了目前法律实证研究的困境:裁判文书、法律法规、媒体案例和统计数据等多种经专业法律编辑精心整理、数量丰富的法律数据资源,将研究人员从大量的资料整理工作中解放出来,能够有更多的时间进行思考;提供从创建课题、数据管理到统计分析的实证分析一体化服务,加快了科研进度,提升了研究成果价值含量。
第五篇:数据库索引的优缺点及使用时的注意事项
本文介绍了数据库索引,及其优、缺点。针对MySQL索引的特点、应用进行了详细的描述。分析了如何避免MySQL无法使用,如何使用EXPLAIN分析查询语句,如何优化MySQL索引的应用。
索引是一种特殊的文件(InnoDB数据表上的索引是表空间的一个组成部分),它们包含着对数据表里所有记录的引用指针。
注:[1]索引不是万能的!索引可以加快数据检索操作,但会使数据修改操作变慢。每修改数据记录,索引就必须刷新一次。为了在某种程序上弥 补这一缺陷,许多SQL命令都有一个DELAY_KEY_WRITE项。这个选项的作用是暂时制止MySQL在该命令每插入一条新记录和每修改一条现有之 后立刻对索引进行刷新,对索引的刷新将等到全部记录插入/修改完毕之后再进行。在需要把许多新记录插入某个数据表的场合,DELAY_KEY_WRITE 选项的作用将非常明显。[2]另外,索引还会在硬盘上占用相当大的空间。因此应该只为最经常查询和最经常排序的数据列建立索引。注意,如果某个数据列包含 许多重复的内容,为它建立索引就没有太大的实际效果。
从理论上讲,完全可以为数据表里的每个字段分别建一个索引,但MySQL把同一个数据表里的索引总数限制为16个。
1.InnoDB数据表的索引
与MyISAM数据表相比,索引对InnoDB数据的重要性要大得多。在InnoDB数据表上,索引对InnoDB数据表的重要性要在得 多。在InnoDB数据表上,索引不仅会在搜索数据记录时发挥作用,还是数据行级锁定机制的苊、基础。“数据行级锁定”的意思是指在事务操作的执行过程中 锁定正在被处理的个别记录,不让其他用户进行访问。这种锁定将影响到(但不限于)SELECT...LOCK IN SHARE MODE、SELECT...FOR UPDATE命令以及INSERT、UPDATE和DELETE命令。
出于效率方面的考虑,InnoDB数据表的数据行级锁定实际发生在它们的索引上,而不是数据表自身上。显然,数据行级锁定机制只有在有关的数据表有一个合适的索引可供锁定的时候才能发挥效力。
2.限制
如果WEHERE子句的查询条件里有不等号(WHERE coloum!=...),MySQL将无法使用索引。
类似地,如果WHERE子句的查询条件里使用了函数(WHERE DAY(column)=...),MySQL也将无法使用索引。
在JOIN操作中(需要从多个数据表提取数据时),MySQL只有在主键和外键的数据类型相同时才能使用索引。
如果WHERE子句的查询条件里使用比较操作符LIKE和REGEXP,MySQL只有在搜索模板的第一个字符不是通配符的情况下才能使用 索引。比如说,如果查询条件是LIKE ''abc%'',MySQL将使用索引;如果查询条件是LIKE ''%abc'',MySQL将不使用索引。
在ORDER BY操作中,MySQL只有在排序条件不是一个查询条件表达式的情况下才使用索引。(虽然如此,在涉及多个数据表查询里,即使有索引可用,那些索引在加快ORDER BY方面也没什么作用)
如果某个数据列里包含许多重复的值,就算为它建立了索引也不会有很好的效果。比如说,如果某个数据列里包含的净是些诸如“0/1”或“Y/N”等值,就没有必要为它创建一个索引。
普通索引、唯一索引和主索引
1.普通索引
普通索引(由关键字KEY或INDEX定义的索引)的唯一任务是加快对数据的访问速度。因此,应该只为那些最经常出现在查询条件(WHERE column =...)或排序条件(ORDER BY column)中的数据列创建索引。只要有可能,就应该选择一个数据最整齐、最紧凑的数据列(如一个整数类型的数据列)来创建索引。
2.唯一索引
普通索引允许被索引的数据列包含重复的值。比如说,因为人有可能同名,所以同一个姓名在同一个“员工个人资料”数据表里可能出现两次或更多次。
如果能确定某个数据列将只包含彼此各不相同的值,在为这个数据列创建索引的时候就应该用关键字UNIQUE把它定义为一个唯一索引。这么做 的好处:一是简化了MySQL对这个索引的管理工作,这个索引也因此而变得更有效率;二是MySQL会在有新记录插入数据表时,自动检查新记录的这个字段 的值是否已经在某个记录的这个字段里出现过了;如果是,MySQL将拒绝插入那条新记录。也就是说,唯一索引可以保证数据记录的唯一性。事实上,在许多场 合,人们创建唯一索引的目的往往不是为了提高访问速度,而只是为了避免数据出现重复。
3.主索引
在前面已经反复多次强调过:必须为主键字段创建一个索引,这个索引就是所谓的“主索引”。主索引与唯一索引的唯一区别是:前者在定义时使用的关键字是PRIMARY而不是UNIQUE。
4.外键索引
如果为某个外键字段定义了一个外键约束条件,MySQL就会定义一个内部索引来帮助自己以最有效率的方式去管理和使用外键约束条件。
5.复合索引
索引可以覆盖多个数据列,如像INDEX(columnA, columnB)索引。这种索引的特点是MySQL可以有选择地使用一个这样的索引。如果查询操作只需要用到
columnA数据列上的一个索引,就可以使 用复合索引INDEX(columnA, columnB)。不过,这种用法仅适用于在复合索引中排列在前的数据列组合。比如说,INDEX(A, B, C)可以当做A或(A, B)的索引来使用,但不能当做B、C或(B, C)的索引来使用。
6.索引的长度
在为CHAR和VARCHAR类型的数据列定义索引时,可以把索引的长度限制为一个给定的字符个数(这个数字必须小于这个字段所允许的最大 字符个数)。这么做的好处是可以生成一个尺寸比较小、检索速度却比较快的索引文件。在绝大多数应用里,数据库中的字符串数据大都以各种各样的名字为主,把 索引的长度设置为10~15个字符已经足以把搜索范围缩小到很少的几条数据记录了。
在为BLOB和TEXT类型的数据列创建索引时,必须对索引的长度做出限制;MySQL所允许的最大索引长度是255个字符。
全文索引
文本字段上的普通索引只能加快对出现在字段内容最前面的字符串(也就是字段内容开头的字符)进行检索操作。如果字段里存放的是由几个、甚至 是多个单词构成的较大段文字,普通索引就没什么作用了。这种检索往往以LIKE %word%的形式出现,这对MySQL来说很复杂,如果需要处理的数据量很大,响应时间就会很长。
这类场合正是全文索引(full-text index)可以大显身手的地方。在生成这种类型的索引时,MySQL将把在文本中出现的所有单词创建为一份清单,查询操作将根据这份清单去检索有关的数 据记录。全文索引即可以随数据表一同创建,也可以等日后有必要时再使用下面这条命令添加:
ALTER TABLE tablename ADD FULLTEXT(column1, column2)
有了全文索引,就可以用SELECT查询命令去检索那些包含着一个或多个给定单词的数据记录了。下面是这类查询命令的基本语法:
SELECT * FROM tablename
WHERE MATCH(column1, column2)AGAINST(''word1'', ''word2'', ''word3'')上面这条命令将把column1和column2字段里有word1、word2和word3的数据记录全部查询出来。
注解:InnoDB数据表不支持全文索引。
查询和索引的优化
只有当数据库里已经有了足够多的测试数据时,它的性能测试结果才有实际参考价值。如果在测试数据库里只有几百条数据记录,它们往往在执行完 第一条查询命令之后就被全部加载到内存里,这将使后续的查询命令都执行得非常快--不管有没有使用索引。只有当数据库里的记录超过了1000条、数据总量 也超过了MySQL服务器上的内存总量时,数据库的性能测试结果才有意义。
在不确定应该在哪些数据列上创建索引的时候,人们从EXPLAIN SELECT命令那里往往可以获得一些帮助。这其实只是简单地给一条普通的SELECT命令加一个EXPLAIN关键字作为前缀而已。有了这个关键 字,MySQL将不是去执行那条SELECT命令,而是去对它进行分析。MySQL将以表格的形式把查询的执行过程和用到的索引(如果有的话)等信息列出 来。
在EXPLAIN命令的输出结果里,第1列是从数据库读取的数据表的名字,它们按被读取的先后顺序排列。type列指定了本数据表与其它数 据表之间的关联关系(JOIN)。在各种类型的关联关系当中,效率最高的是system,然后依次是const、eq_ref、ref、range、index和All(All的意思是:对应于上一级数据表里的每一条记录,这个数据表里的所有记录都必须被读取一遍--这种情况往往可以用一索引来避 免)。
possible_keys数据列给出了MySQL在搜索数据记录时可选用的各个索引。key数据列是MySQL实际选用的索引,这个索引 按字节计算的长度在key_len数据列里给出。比如说,对于一个INTEGER数据列的索引,这个字节长度将是4。如果用到了复合索引,在 key_len数据列里还可以看到MySQL具体使用了它的哪些部分。作为一般规律,key_len数据列里的值越小越好(意思是更快)。ref数据列给出了关联关系中另一个数据表里的数据列的名字。row数据列是MySQL在执行这个查询时预计会从这个数据表里读出的数据行的个数。row数据列里的所有数字的乘积可以让我们大致了解这个查询需要处理多少组合。最后,extra数据列提供了与JOIN操作有关的更多信息,比如说,如果MySQL在执行这个查询时必须创建一个临时数据表,就会在extra列看到using temporary字样。