今天在laravel框架中配置读写分离时,发现ORM的读操作分别连接了主库和从库,由于我们的产品是在海外推广,用的AWS 的 RDS Mysql版本,主库在美国,在新加坡开了个从库,发现查询时连接了主库和从库,导致查询非常慢,因此只能通过原生SQL查询。
laravel的读写分离配置如下(database.php):
'connections' => [
'mysql' => [
'driver' => 'mysql',
'host' => env('DB_HOST', 'localhost'),
'port' => env('DB_PORT', 3306),
'database' => env('DB_DATABASE', 'forge'),
'username' => env('DB_USERNAME', 'forge'),
'password' => env('DB_PASSWORD', ''),
'charset' => 'utf8mb4',
'collation' => 'utf8mb4_unicode_ci',
'prefix' => env('DB_PREFIX', 'tbl_'),
'timezone' => env('DB_TIMEZONE', '+00:00'),
'strict' => false,
'options' => array(
PDO::ATTR_STRINGIFY_FETCHES => true,