为了提高系统负载,PHPCMS V9引入了数据表分离技术,但站长都不知道该如何使用,在此简述phpcms V9 数据表分离的应用:
1、首先建立另外一个数据库的连接池,修改caches/configs/database.php
修改后的配置如下(master为增加另一台MYSQL服务器的连接池):
return array (
'default' => array (
'hostname' => 'localhost',
'database' => 'phpcms8',
'username' => 'root',
'password' => 'phpcms8',
'tablepre' => 'v9_',
'charset' => 'gbk',
'type' => 'mysql',
'debug' => true,
'pconnect' => 0,
'autoconnect' => 0
),
'master' => array (
'hostname' => '200.200.200.200',
'database' => 'master',
'username' => 'root',
'password' => '123456',
'tablepre' => 'v9_',
'charset' => 'gbk',
'type' => 'mysql',
'debug' => true,
'pconnect' => 0,
'autoconnect' => 0
),
);
?>
下面就是在phpcms/model/下中的你要放在master连接池中的数据库表名+_class.php,打开文件:找到如下所示:
$this->db_config = pc_base::load_config('database');
$this->db_setting = 'default';
$this->table_name = 'category_priv';
parent::__construct();
将default改为master,然后更新缓存即可。一般表分离按模块或栏目进行分离,尽量不要对同一个模块或栏目分离。否则在需要进行联合查询、写入时会出问题。