04

MySQL的key_buffer_size参数

缓存myisam表的索引块大小,可以被所有进程所共享。当设置key_buffer_size,操作系统不会马上分配key_buffer_size设置的值,而是在需要的时候,再分配的。可以设置多个key_buffer,当设置不是默认key_buffer为0时,mysql会把缓存的索引块移到默认的key_buffer中去并删除不再使用的索引块。Myisam表中只能cache索引块,不能cache数据块。

继续阅读全文

23

编译x86_64下静态DBD::MySQL模块

MySQL的客户端程序可以静态方式编译, 也就是将客户端程序和MySQL的客户端链接成一个可执行文件, 这样发布程序时就不需要额外安装MySQL客户端了, 比如让Perl支持MySQL的数据库, 就不想在每台机器上安装一个MySQL客户端, 只要将Perl拷过去就以使用.

最好是找一台干静的版本较低的机器, 如没有新机器, 致少要编译一个独立的MySQL客户端, 不要和编译服务器端的混在一起. 取得并解压MySQL源代码后, 执行如下命令进行编译配置工作.

继续阅读全文

26

MySQL全文检索中不进行全文索引默认过滤词表(ft_stopword_file =>ft_precompiled_stopwords)

MySQL支持全文索引和全文检索功能。 (详细的MySQL全文检索的介绍请见官方手册)
对于全文索引,MySQL会从 ft_stopword_file 变量指定的文件中读取不进行全文索引的过滤词表, 一行一个。若将该变量设置为空字符串(”)则禁用过滤词表。
此变量默认为built-in,即MySQL使用自建默认过滤词表,查看MySQL4到MySQL6的源码,不同版本的默认词表是一样的,共545个

继续阅读全文

26

MySQL内存使用 – 全局共享

全局共享内则主要是 MySQL Instance(mysqld进程)以及底层存储引擎用来暂存各种全局运算及可共享的暂存信息,如存储查询缓存的 Query Cache,缓存连接线程的 Thread Cache,缓存表文件句柄信息的 Table Cache,缓存二进制日志的 BinLog Buffer, 缓存 MyISAM 存储引擎索引键的 Key Buffer以及存储 InnoDB 数据和索引的 InnoDB Buffer Pool 等等。下面针对 MySQL 主要的共享内存进行一个简单的分析。

继续阅读全文