MariaDB10.2.6启用Mroonga存储引擎用于全文索引

如同翻译的那样,Mroonga是一个适用于MySQL的存储引擎。它为所有MySQL用户提供了快速的全文搜索功能。

这里直接演示怎么在MariaDB上启用mroonga存储引擎

1)加载mroonga插件

MariaDB [(none)]>INSTALL SONAME ‘ha_mroonga‘;

MariaDB [(none)]> CREATE FUNCTION last_insert_grn_id RETURNS INTEGER SONAME ‘ha_mroonga.so‘;

2)建表测试一下

MariaDB [(none)]>create database jerry;

MariaDB [(none)]>use jerry

MariaDB [jerry]> create table t1 (id int not null,name varchar(100)not null,notes text,fulltext index(notes))engine=mroonga;

3)胡乱插入一些数据

MariaDB [jerry]> insert into t1 values(1,‘擦擦擦‘,‘我也不会告诉你‘);

Query OK, 1 row affected (0.00 sec)

MariaDB [jerry]> insert into t1 values(2,‘啦啦啦‘,‘我也不会告诉你‘);

Query OK, 1 row affected (0.01 sec)

MariaDB [jerry]> insert into t1 values(3,‘dashaba‘,‘森马服饰‘);

Query OK, 1 row affected (0.00 sec)

MariaDB [jerry]> insert into t1 values(4,‘victor‘,‘大森马投资有限公司‘);

Query OK, 1 row affected (0.00 sec)

MariaDB [jerry]> insert into t1 values(5,‘kukumimilulu‘,‘森马跨境电商有限公司‘);

Query OK, 1 row affected (0.00 sec)

MariaDB [jerry]> insert into t1 values(6,‘王思聪‘,‘王爸爸联合大森马跨境电商有限公司‘);

Query OK, 1 row affected (0.00 sec)

4)用如下命令查询

MariaDB [jerry]> select * from t1 where match(notes) against(‘大森马‘ in BOOLEAN MODE);

+----+-----------+--------------------------------------------------+

| id | name      | notes                                            |

+----+-----------+--------------------------------------------------+

|  4 | victor    | 大森马投资有限公司                               |

|  6 | 王思聪    | 王爸爸联合大森马跨境电商有限公司                 |

+----+-----------+--------------------------------------------------+

2 rows in set (0.00 sec)

5 ) 通过执行计划我们可以看到已经用到notes这个全文索引,并且只需要扫描一行

MariaDB [jerry]> explain select * from t1 where match(notes) against(‘大森马‘ in BOOLEAN MODE);

+------+-------------+-------+----------+---------------+-------+---------+------+------+-----------------------------------+

| id   | select_type | table | type     | possible_keys | key   | key_len | ref  | rows | Extra                             |

+------+-------------+-------+----------+---------------+-------+---------+------+------+-----------------------------------+

|    1 | SIMPLE      | t1    | fulltext | notes         | notes | 0       |      |    1 | Using where with pushed condition |

+------+-------------+-------+----------+---------------+-------+---------+------+------+-----------------------------------+

1 row in set (0.00 sec)

时间: 2024-10-03 03:52:26

MariaDB10.2.6启用Mroonga存储引擎用于全文索引的相关文章

MongoDB 数据存储引擎

存储引擎(Storage Engine)是MongoDB的核心组件,负责管理数据如何存储在硬盘(Disk)和内存(Memory)上.从MongoDB 3.2 版本开始,MongoDB 支持多数据存储引擎(Storage Engine),MongoDB支持的存储引擎有:WiredTiger,MMAPv1和In-Memory. 从MongoDB 3.2 版本开始,WiredTiger成为MongDB默认的Storage Engine,用于将数据持久化存储到硬盘文件中,WiredTiger提供文档级别

7.Mysql存储引擎

7.表类型(存储引擎)的选择7.1 Mysql存储引擎概述 mysql支持插件式存储引擎,即存储引擎以插件形式存在于mysql库中. mysql支持的存储引擎包括:MyISAM.InnoDB.BDB.MEMORY.MERGE.EXAMPLE.NDB Cluster.ARCHIVE.CSV.BLACKHOLE.FEDERATED等. 其中:InnoDB和BDB提供事务安全表,其他存储引擎都是非事务安全表: 默认存储引擎(即建表时不指定存储引擎),mysql5.5开始默认存储引擎为InnoDB,my

INNODB与MyISAM两种表存储引擎区别

mysql数据库分类为INNODB为MyISAM两种表存储引擎了,两种各有优化在不同类型网站可能选择不同,下面小编为各位介绍mysql更改表引擎INNODB为MyISAM技巧. 常见的mysql表引擎有INNODB和MyISAM,主要的区别是INNODB适合频繁写数据库操作,MyISAM适合读取数据库的情况多一点,如何把表引擎INNODB更改为MyISAM呢? 使用以下mysql sql语句,可以给表设定数据库引擎: ALTER TABLE `wp_posts` ENGINE = MyISAM;

MySQL存储引擎以及索引原理

一.MySQL存储引擎:MySQL将数据用各种不同的技术存储在文件中,这些技术中的每一种技术都使用不同的存储机制.索引技巧.锁定水平并且最终提供广泛的不同的功能和能力.这些不同的技术以及配套的相关功能在 mysql中被称作存储引擎(也称作表类型).建表时,选择合适的存储引擎很重要,如果到后期再更换将会很麻烦.存储引擎是基于表的,而非数据库. 个人理解:存储引擎是某张表存储数据.如何为存储的数据建立索引和更新.查询数据库等技术的实现方法集合及约束.常见的存储引擎如下图: 这里,先总结常用的三种存储

MySQL存储引擎介绍

MySQL主要有两个层次组成:MySQL核心[MySQL服务器层].插件式存储引擎    MySQL处理机制无论在核心上如何被解析,最后如果真正实现跟文件系统上的文件交互时,一定要经过存储引擎来完成.真正把MySQL操作接收下来并提交给底层文件上对应的数据完成操作,并将结果返回给上层MySQL核心的是MySQL存储引擎,各存储引擎通过统一的API向MySQL服务器提供一个统一的数据存取.加锁等操作.        MySQL内部表状态信息查看,使用  show table status like

数据库之——索引、触发器、事务(存储引擎)

一. 数据库 数据库(DataBase)是按照数据结构来组织.存储和管理数据的仓库.其主要特点有如下几个方面: 实现数据共享 数据共享包含所有用户可同时存取数据库中的数据,也包括用户可以用各种方式通过接口使用数据库,并提供数据共享: 减少数据的冗余度 同文件系统相比,由于数据库实现了数据共享,从而避免了用户各自建立应用文件.减少了大量重复数据,减少了数据冗余,维护了数据的一致性: 数据的独立性 数据的独立性包括逻辑独立性(数据库中数据库的逻辑结构和应用程序相互独立)和物理独立性(数据物理结构的变

《mysql技术内幕 InnoDB存储引擎(第二版)》阅读笔记

一.mysql架构 mysql是一个单进程多线程架构的数据库. 二.存储引擎 InnoDB: 支持事务 行锁 读操作无锁 4种隔离级别,默认为repeatable 自适应hash索引 每张表的存储都是按主键的顺序记性存放 支持全文索引(InnoDB1.2.x - mysql5.6) 支持MVCC(多版本并发控制)实现高并发 MyISAM: 不支持事务 表锁 支持全文索引 三.InnoDB体系架构 1.后台线程 Master Thread 负责将缓冲池中的数据异步刷新到磁盘,保证数据的一致性 IO

存储引擎

mysql存储引擎 1.3.1.innodb存储引擎,特点支持外键.行锁.非锁定读(默认情况下读取不会产生锁).mysql-4.1开始支持每个innodb引擎的表单独放到一个表空间里.innodb通过使用MVCC来获取高并发性,并且实现sql标准的4种隔离级别,同时使用一种被称成next-key locking的策略来避免换读(phantom)现象.除此之外innodb引擎还提供了插入缓存(insert buffer).二次写(double write).自适应哈西索引(adaptive has

mysql 的存储引擎介绍

在数据库中存的就是一张张有着千丝万缕关系的表,所以表设计的好坏,将直接影响着整个数据库.而在设计表的时候,我们都会关注一个问题,使用什么存储引擎.等一下,存储引擎?什么是存储引擎? 什么是存储引擎? MySQL中的数据用各种不同的技术存储在文件(或者内存)中.这些技术中的每一种技术都使用不同的存储机制.索引技巧.锁定水平并且最终提供广泛的不同的功能和能力.通过选择不同的技术,你能够获得额外的速度或者功能,从而改善你的应用的整体功能. 例如,如果你在研究大量的临时数据,你也许需要使用内存MySQL