sql >> データベース >  >> RDS >> PostgreSQL

Yii2:複数のデータベーススキーマを指定する方法は?

    コンポーネントで複数を構成できます

          return [
          'components' => [
              'db1' => [
                  'class' => 'yii\db\Connection',
                  'dsn' => 'mysql:host=localhost;dbname=testdb1',
                  'username' => 'demo1',
                  'password' => 'demo1',
              ],
              'db2' => [
                  'class' => 'yii\db\Connection',
                  'dsn' => 'mysql:host=localhost;dbname=testdb2',
                  'username' => 'demo2',
                  'password' => 'demo2',
              ],
    
          ],
      ];
    

    を使用してそれぞれを参照できます
     \Yii::$app->db1;  
    
     or 
    
      \Yii::$app->db2;  
    

    http://www.yiiframework.com/doc-2.0 /guide-db-active-record.html

    http://www.yiiframework.com/doc-2.0/guide -start-databases.html

    postgresqlの場合は、試すことができます

          return [
          'components' => [
              'db1' => [
                  'class' => 'yii\db\Connection',
                  'dsn' => 'pgsql:host=localhost;dbname=testdb1',
                  'username' => 'demo1',
                  'password' => 'demo1',
                  'schemaMap' => [
                    'pgsql'=> [
                      'class'=>'yii\db\pgsql\Schema',
                      'defaultSchema' => 'your_schema1' //specify your schema here
                    ]
                  ],
              ],
              'db2' => [
                  'class' => 'yii\db\Connection',
                  'dsn' => 'mysql:host=localhost;dbname=testdb2',
                  'username' => 'demo2',
                  'password' => 'demo2',
                  'schemaMap' => [
                    'pgsql'=> [
                      'class'=>'yii\db\pgsql\Schema',
                      'defaultSchema' => 'your_schema2' //specify your schema here
                    ]
                  ],
              ],
    
          ],
      ];
    


    1. mysql 5.7は、中程度のSQLではmysql5.6よりもはるかに低速です。

    2. 2つのテーブル間の単純なクエリでMySQLが遅すぎる

    3. mysqlでUPDATE/DELETEを実行し、影響を受ける行IDのリストを取得しますか?

    4. MySQLテーブルの主キーの質問?