You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@shardingsphere.apache.org by zh...@apache.org on 2021/01/12 16:42:42 UTC

[shardingsphere] branch master updated: Use executeInitSQL instead of create tables (#9004)

This is an automated email from the ASF dual-hosted git repository.

zhangyonglun pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/shardingsphere.git


The following commit(s) were added to refs/heads/master by this push:
     new 02fd075  Use executeInitSQL instead of create tables (#9004)
02fd075 is described below

commit 02fd075ed4d1c0790b13789b09d08d826cf6f87e
Author: Liang Zhang <te...@163.com>
AuthorDate: Wed Jan 13 00:42:06 2021 +0800

    Use executeInitSQL instead of create tables (#9004)
    
    * Use init.sql to initialize databases
    
    * Add db dialect with init.sql
    
    * Remove create table usage in DDL @before
    
    * Remove useless dropDatabases
    
    * Rename executeInitSQL
    
    * Remove create tables and drop tables
    
    * Add drop table if existed for H2
    
    * Move executeInitSQL into BaseIT
    
    * revert test
---
 .../test/integration/engine/it/BaseIT.java         |   9 ++
 .../test/integration/engine/it/BatchIT.java        |  15 --
 .../test/integration/engine/it/dcl/BaseDCLIT.java  |  16 +--
 .../test/integration/engine/it/ddl/BaseDDLIT.java  |  21 +--
 .../integration/engine/it/ddl/GeneralDDLIT.java    |   2 +-
 .../test/integration/engine/it/dml/BaseDMLIT.java  |  16 +--
 .../integration/engine/it/dml/GeneralDMLIT.java    |   2 +-
 .../test/integration/engine/it/dql/BaseDQLIT.java  |  11 +-
 .../test/integration/env/EnvironmentPath.java      |  20 +++
 .../env/schema/SchemaEnvironmentManager.java       | 153 +++------------------
 .../test/resources/docker/db/docker-compose.yml    |   2 +-
 .../dbtbl_with_replica_query/docker-compose.yml    |   2 +-
 .../docker/replica_query/docker-compose.yml        |   2 +-
 .../test/resources/docker/tbl/docker-compose.yml   |   2 +-
 .../src/test/resources/env/db/h2/init.sql          |  25 ++++
 .../src/test/resources/env/db/{ => mysql}/init.sql |  43 +++---
 .../test/resources/env/db/{ => oracle}/init.sql    |  63 +++++----
 .../resources/env/db/{ => postgresql}/init.sql     |  54 +++++---
 .../test/resources/env/db/{ => sqlserver}/init.sql |  43 +++---
 .../env/dbtbl_with_replica_query/h2/init.sql       |  70 ++++++++++
 .../dbtbl_with_replica_query/{ => mysql}/init.sql  |  90 +++++++++---
 .../dbtbl_with_replica_query/{ => oracle}/init.sql | 113 ++++++++++-----
 .../{ => postgresql}/init.sql                      |  94 ++++++++++---
 .../{ => sqlserver}/init.sql                       |  73 +++++++---
 .../test/resources/env/replica_query/h2/init.sql   |  25 ++++
 .../resources/env/replica_query/mysql/init.sql     |  59 ++++++++
 .../resources/env/replica_query/oracle/init.sql    |  42 ++++++
 .../env/replica_query/postgresql/init.sql          |  46 +++++++
 .../env/replica_query/{ => sqlserver}/init.sql     |  39 +++---
 .../src/test/resources/env/tbl/h2/init.sql         |  80 +++++++++++
 .../test/resources/env/tbl/{ => mysql}/init.sql    |  53 ++++---
 .../test/resources/env/tbl/{ => oracle}/init.sql   |  38 ++---
 .../resources/env/tbl/{ => postgresql}/init.sql    |  38 ++---
 .../resources/env/tbl/{ => sqlserver}/init.sql     |  36 ++---
 34 files changed, 946 insertions(+), 451 deletions(-)

diff --git a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/java/org/apache/shardingsphere/test/integration/engine/it/BaseIT.java b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/java/org/apache/shardingsphere/test/integration/engine/it/BaseIT.java
index 32f7b87..74c2cd2 100644
--- a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/java/org/apache/shardingsphere/test/integration/engine/it/BaseIT.java
+++ b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/java/org/apache/shardingsphere/test/integration/engine/it/BaseIT.java
@@ -26,7 +26,9 @@ import org.apache.shardingsphere.test.integration.env.EnvironmentPath;
 import org.apache.shardingsphere.test.integration.env.IntegrateTestEnvironment;
 import org.apache.shardingsphere.test.integration.env.datasource.builder.ActualDataSourceBuilder;
 import org.apache.shardingsphere.test.integration.env.datasource.builder.ProxyDataSourceBuilder;
+import org.apache.shardingsphere.test.integration.env.schema.SchemaEnvironmentManager;
 import org.junit.After;
+import org.junit.BeforeClass;
 import org.junit.runner.RunWith;
 import org.junit.runners.Parameterized;
 
@@ -77,6 +79,13 @@ public abstract class BaseIT {
         targetDataSource = createTargetDataSource();
     }
     
+    @BeforeClass
+    public static void executeInitSQLs() throws IOException, JAXBException, SQLException {
+        if (!IntegrateTestEnvironment.getInstance().isEnvironmentPrepared()) {
+            SchemaEnvironmentManager.executeInitSQLs();
+        }
+    }
+    
     @After
     public final void tearDown() {
         if (targetDataSource instanceof ShardingSphereDataSource) {
diff --git a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/java/org/apache/shardingsphere/test/integration/engine/it/BatchIT.java b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/java/org/apache/shardingsphere/test/integration/engine/it/BatchIT.java
index 930600f..55909cb 100644
--- a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/java/org/apache/shardingsphere/test/integration/engine/it/BatchIT.java
+++ b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/java/org/apache/shardingsphere/test/integration/engine/it/BatchIT.java
@@ -31,11 +31,8 @@ import org.apache.shardingsphere.test.integration.cases.dataset.metadata.DataSet
 import org.apache.shardingsphere.test.integration.cases.dataset.row.DataSetRow;
 import org.apache.shardingsphere.test.integration.env.EnvironmentPath;
 import org.apache.shardingsphere.test.integration.env.dataset.DataSetEnvironmentManager;
-import org.apache.shardingsphere.test.integration.env.schema.SchemaEnvironmentManager;
 import org.junit.After;
-import org.junit.AfterClass;
 import org.junit.Before;
-import org.junit.BeforeClass;
 
 import javax.xml.bind.JAXBException;
 import java.io.IOException;
@@ -80,18 +77,6 @@ public abstract class BatchIT extends BaseIT {
         dataSetEnvironmentManager = new DataSetEnvironmentManager(EnvironmentPath.getDataSetFile(scenario), getActualDataSources());
     }
     
-    @BeforeClass
-    public static void initDatabasesAndTables() throws JAXBException, IOException {
-        SchemaEnvironmentManager.createDatabases();
-        SchemaEnvironmentManager.dropTables();
-        SchemaEnvironmentManager.createTables();
-    }
-    
-    @AfterClass
-    public static void destroyDatabasesAndTables() throws IOException, JAXBException {
-        SchemaEnvironmentManager.dropDatabases();
-    }
-    
     @Before
     public void fillData() throws SQLException, ParseException {
         dataSetEnvironmentManager.fillData();
diff --git a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/java/org/apache/shardingsphere/test/integration/engine/it/dcl/BaseDCLIT.java b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/java/org/apache/shardingsphere/test/integration/engine/it/dcl/BaseDCLIT.java
index 044e214..46778db 100644
--- a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/java/org/apache/shardingsphere/test/integration/engine/it/dcl/BaseDCLIT.java
+++ b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/java/org/apache/shardingsphere/test/integration/engine/it/dcl/BaseDCLIT.java
@@ -21,15 +21,12 @@ import org.apache.shardingsphere.infra.database.metadata.DataSourceMetaData;
 import org.apache.shardingsphere.infra.database.metadata.MemorizedDataSourceMetaData;
 import org.apache.shardingsphere.infra.database.type.DatabaseType;
 import org.apache.shardingsphere.test.integration.cases.assertion.IntegrateTestCaseAssertion;
-import org.apache.shardingsphere.test.integration.engine.param.SQLExecuteType;
 import org.apache.shardingsphere.test.integration.engine.it.SingleIT;
+import org.apache.shardingsphere.test.integration.engine.param.SQLExecuteType;
 import org.apache.shardingsphere.test.integration.env.EnvironmentPath;
 import org.apache.shardingsphere.test.integration.env.authority.AuthorityEnvironmentManager;
-import org.apache.shardingsphere.test.integration.env.schema.SchemaEnvironmentManager;
 import org.junit.After;
-import org.junit.AfterClass;
 import org.junit.Before;
-import org.junit.BeforeClass;
 
 import javax.sql.DataSource;
 import javax.xml.bind.JAXBException;
@@ -96,17 +93,6 @@ public abstract class BaseDCLIT extends SingleIT {
                 ? (Objects.equals(target.getSchema(), sample.getSchema())) : target.getHostName().equals(sample.getHostName()) && target.getPort() == sample.getPort();
     }
     
-    @BeforeClass
-    public static void initDatabasesAndTables() throws JAXBException, IOException {
-        SchemaEnvironmentManager.createDatabases();
-        SchemaEnvironmentManager.createTables();
-    }
-    
-    @AfterClass
-    public static void destroyDatabasesAndTables() throws IOException, JAXBException {
-        SchemaEnvironmentManager.dropDatabases();
-    }
-    
     @Before
     public final void insertData() throws SQLException {
         authorityEnvironmentManager.initialize();
diff --git a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/java/org/apache/shardingsphere/test/integration/engine/it/ddl/BaseDDLIT.java b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/java/org/apache/shardingsphere/test/integration/engine/it/ddl/BaseDDLIT.java
index 3cec03f..1251cec 100644
--- a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/java/org/apache/shardingsphere/test/integration/engine/it/ddl/BaseDDLIT.java
+++ b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/java/org/apache/shardingsphere/test/integration/engine/it/ddl/BaseDDLIT.java
@@ -22,18 +22,15 @@ import org.apache.shardingsphere.infra.database.type.DatabaseType;
 import org.apache.shardingsphere.infra.datanode.DataNode;
 import org.apache.shardingsphere.sharding.algorithm.sharding.inline.InlineExpressionParser;
 import org.apache.shardingsphere.test.integration.cases.assertion.IntegrateTestCaseAssertion;
-import org.apache.shardingsphere.test.integration.engine.param.SQLExecuteType;
 import org.apache.shardingsphere.test.integration.cases.dataset.metadata.DataSetColumn;
 import org.apache.shardingsphere.test.integration.cases.dataset.metadata.DataSetIndex;
 import org.apache.shardingsphere.test.integration.cases.dataset.metadata.DataSetMetadata;
 import org.apache.shardingsphere.test.integration.engine.it.SingleIT;
+import org.apache.shardingsphere.test.integration.engine.param.SQLExecuteType;
 import org.apache.shardingsphere.test.integration.env.EnvironmentPath;
 import org.apache.shardingsphere.test.integration.env.dataset.DataSetEnvironmentManager;
-import org.apache.shardingsphere.test.integration.env.schema.SchemaEnvironmentManager;
 import org.junit.After;
-import org.junit.AfterClass;
 import org.junit.Before;
-import org.junit.BeforeClass;
 
 import javax.xml.bind.JAXBException;
 import java.io.IOException;
@@ -67,19 +64,8 @@ public abstract class BaseDDLIT extends SingleIT {
         assertNotNull("Expected affected table is required", assertion.getInitialSQL().getAffectedTable());
     }
     
-    @BeforeClass
-    public static void initDatabases() throws IOException, JAXBException {
-        SchemaEnvironmentManager.createDatabases();
-    }
-    
-    @AfterClass
-    public static void destroyDatabases() throws IOException, JAXBException {
-        SchemaEnvironmentManager.dropDatabases();
-    }
-    
     @Before
-    public final void initTables() throws SQLException, ParseException, IOException, JAXBException {
-        SchemaEnvironmentManager.createTables();
+    public final void initTables() throws SQLException, ParseException, IOException {
         dataSetEnvironmentManager.fillData();
         try (Connection connection = getTargetDataSource().getConnection()) {
             executeInitSQLs(connection);
@@ -97,8 +83,7 @@ public abstract class BaseDDLIT extends SingleIT {
     }
     
     @After
-    public final void destroyTables() throws JAXBException, IOException, SQLException {
-        SchemaEnvironmentManager.dropTables();
+    public final void destroyTables() throws SQLException {
         try (Connection connection = getTargetDataSource().getConnection()) {
             dropInitializedTable(connection);
         }
diff --git a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/java/org/apache/shardingsphere/test/integration/engine/it/ddl/GeneralDDLIT.java b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/java/org/apache/shardingsphere/test/integration/engine/it/ddl/GeneralDDLIT.java
index 5b12f1d..e3f1aa2 100644
--- a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/java/org/apache/shardingsphere/test/integration/engine/it/ddl/GeneralDDLIT.java
+++ b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/java/org/apache/shardingsphere/test/integration/engine/it/ddl/GeneralDDLIT.java
@@ -38,7 +38,7 @@ public final class GeneralDDLIT extends BaseDDLIT {
                         final String databaseType, final SQLExecuteType sqlExecuteType, final String sql) throws IOException, JAXBException, SQLException, ParseException {
         super(parentPath, assertion, adapter, scenario, DatabaseTypeRegistry.getActualDatabaseType(databaseType), sqlExecuteType, sql);
     }
-
+    
     @Parameters(name = "{2}: {3} -> {4} -> {5} -> {6}")
     public static Collection<Object[]> getParameters() {
         return ParameterizedArrayFactory.getAssertionParameterizedArray(SQLCommandType.DDL);
diff --git a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/java/org/apache/shardingsphere/test/integration/engine/it/dml/BaseDMLIT.java b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/java/org/apache/shardingsphere/test/integration/engine/it/dml/BaseDMLIT.java
index 331540d..6f6ee89 100644
--- a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/java/org/apache/shardingsphere/test/integration/engine/it/dml/BaseDMLIT.java
+++ b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/java/org/apache/shardingsphere/test/integration/engine/it/dml/BaseDMLIT.java
@@ -22,18 +22,15 @@ import org.apache.shardingsphere.infra.database.type.dialect.PostgreSQLDatabaseT
 import org.apache.shardingsphere.infra.datanode.DataNode;
 import org.apache.shardingsphere.sharding.algorithm.sharding.inline.InlineExpressionParser;
 import org.apache.shardingsphere.test.integration.cases.assertion.IntegrateTestCaseAssertion;
-import org.apache.shardingsphere.test.integration.engine.param.SQLExecuteType;
 import org.apache.shardingsphere.test.integration.cases.dataset.metadata.DataSetColumn;
 import org.apache.shardingsphere.test.integration.cases.dataset.metadata.DataSetMetadata;
 import org.apache.shardingsphere.test.integration.cases.dataset.row.DataSetRow;
 import org.apache.shardingsphere.test.integration.engine.it.SingleIT;
+import org.apache.shardingsphere.test.integration.engine.param.SQLExecuteType;
 import org.apache.shardingsphere.test.integration.env.EnvironmentPath;
 import org.apache.shardingsphere.test.integration.env.dataset.DataSetEnvironmentManager;
-import org.apache.shardingsphere.test.integration.env.schema.SchemaEnvironmentManager;
 import org.junit.After;
-import org.junit.AfterClass;
 import org.junit.Before;
-import org.junit.BeforeClass;
 
 import javax.xml.bind.JAXBException;
 import java.io.IOException;
@@ -62,17 +59,6 @@ public abstract class BaseDMLIT extends SingleIT {
         dataSetEnvironmentManager = new DataSetEnvironmentManager(EnvironmentPath.getDataSetFile(scenario), getActualDataSources());
     }
     
-    @BeforeClass
-    public static void initDatabasesAndTables() throws IOException, JAXBException {
-        SchemaEnvironmentManager.createDatabases();
-        SchemaEnvironmentManager.createTables();
-    }
-    
-    @AfterClass
-    public static void destroyDatabases() throws IOException, JAXBException {
-        SchemaEnvironmentManager.dropDatabases();
-    }
-    
     @Before
     public final void fillData() throws SQLException, ParseException {
         dataSetEnvironmentManager.fillData();
diff --git a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/java/org/apache/shardingsphere/test/integration/engine/it/dml/GeneralDMLIT.java b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/java/org/apache/shardingsphere/test/integration/engine/it/dml/GeneralDMLIT.java
index eac8a8d..80c4aa77 100644
--- a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/java/org/apache/shardingsphere/test/integration/engine/it/dml/GeneralDMLIT.java
+++ b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/java/org/apache/shardingsphere/test/integration/engine/it/dml/GeneralDMLIT.java
@@ -46,7 +46,7 @@ public final class GeneralDMLIT extends BaseDMLIT {
         super(parentPath, assertion, adapter, scenario, DatabaseTypeRegistry.getActualDatabaseType(databaseType), sqlExecuteType, sql);
         this.assertion = assertion;
     }
-
+    
     @Parameters(name = "{2}: {3} -> {4} -> {5} -> {6}")
     public static Collection<Object[]> getParameters() {
         return ParameterizedArrayFactory.getAssertionParameterizedArray(SQLCommandType.DML);
diff --git a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/java/org/apache/shardingsphere/test/integration/engine/it/dql/BaseDQLIT.java b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/java/org/apache/shardingsphere/test/integration/engine/it/dql/BaseDQLIT.java
index 4987279d..43453a8 100644
--- a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/java/org/apache/shardingsphere/test/integration/engine/it/dql/BaseDQLIT.java
+++ b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/java/org/apache/shardingsphere/test/integration/engine/it/dql/BaseDQLIT.java
@@ -19,17 +19,15 @@ package org.apache.shardingsphere.test.integration.engine.it.dql;
 
 import org.apache.shardingsphere.infra.database.type.DatabaseType;
 import org.apache.shardingsphere.test.integration.cases.assertion.IntegrateTestCaseAssertion;
-import org.apache.shardingsphere.test.integration.engine.param.SQLExecuteType;
 import org.apache.shardingsphere.test.integration.cases.dataset.metadata.DataSetColumn;
 import org.apache.shardingsphere.test.integration.cases.dataset.metadata.DataSetMetadata;
 import org.apache.shardingsphere.test.integration.cases.dataset.row.DataSetRow;
 import org.apache.shardingsphere.test.integration.engine.it.SingleIT;
+import org.apache.shardingsphere.test.integration.engine.param.SQLExecuteType;
 import org.apache.shardingsphere.test.integration.env.EnvironmentPath;
 import org.apache.shardingsphere.test.integration.env.IntegrateTestEnvironment;
 import org.apache.shardingsphere.test.integration.env.dataset.DataSetEnvironmentManager;
 import org.apache.shardingsphere.test.integration.env.datasource.builder.ActualDataSourceBuilder;
-import org.apache.shardingsphere.test.integration.env.schema.SchemaEnvironmentManager;
-import org.junit.AfterClass;
 import org.junit.BeforeClass;
 
 import javax.xml.bind.JAXBException;
@@ -57,8 +55,6 @@ public abstract class BaseDQLIT extends SingleIT {
     
     @BeforeClass
     public static void fillData() throws IOException, JAXBException, SQLException, ParseException {
-        SchemaEnvironmentManager.createDatabases();
-        SchemaEnvironmentManager.createTables();
         for (DatabaseType each : IntegrateTestEnvironment.getInstance().getDatabaseEnvironments().keySet()) {
             fillData(each);
         }
@@ -70,11 +66,6 @@ public abstract class BaseDQLIT extends SingleIT {
         }
     }
     
-    @AfterClass
-    public static void clearData() throws IOException, JAXBException {
-        SchemaEnvironmentManager.dropDatabases();
-    }
-    
     protected final void assertResultSet(final ResultSet resultSet) throws SQLException {
         assertMetaData(resultSet.getMetaData(), getExpectedColumns());
         assertRows(resultSet, getDataSet().getRows());
diff --git a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/java/org/apache/shardingsphere/test/integration/env/EnvironmentPath.java b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/java/org/apache/shardingsphere/test/integration/env/EnvironmentPath.java
index 8d711d2..0461139 100644
--- a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/java/org/apache/shardingsphere/test/integration/env/EnvironmentPath.java
+++ b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/java/org/apache/shardingsphere/test/integration/env/EnvironmentPath.java
@@ -19,6 +19,7 @@ package org.apache.shardingsphere.test.integration.env;
 
 import lombok.AccessLevel;
 import lombok.NoArgsConstructor;
+import org.apache.shardingsphere.infra.database.type.DatabaseType;
 
 import java.net.URL;
 
@@ -34,6 +35,8 @@ public final class EnvironmentPath {
     
     private static final String SCHEMA_FILE = "schema.xml";
     
+    private static final String INIT_SQL_FILE = "init.sql";
+    
     private static final String DATASET_FILE = "dataset.xml";
     
     private static final String RULES_CONFIG_FILE = "rules.yaml";
@@ -51,6 +54,17 @@ public final class EnvironmentPath {
     }
     
     /**
+     * Get init SQL file.
+     *
+     * @param databaseType database type
+     * @param scenario scenario
+     * @return init SQL file
+     */
+    public static String getInitSQLFile(final DatabaseType databaseType, final String scenario) {
+        return getFile(databaseType, scenario, INIT_SQL_FILE);
+    }
+    
+    /**
      * Get data set file.
      *
      * @param scenario scenario
@@ -85,4 +99,10 @@ public final class EnvironmentPath {
         assertNotNull(url);
         return url.getFile();
     }
+    
+    private static String getFile(final DatabaseType databaseType, final String scenario, final String fileName) {
+        URL url = EnvironmentPath.class.getClassLoader().getResource(String.join("/", ROOT_PATH, scenario, databaseType.getName().toLowerCase(), fileName));
+        assertNotNull(url);
+        return url.getFile();
+    }
 }
diff --git a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/java/org/apache/shardingsphere/test/integration/env/schema/SchemaEnvironmentManager.java b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/java/org/apache/shardingsphere/test/integration/env/schema/SchemaEnvironmentManager.java
index 505569c..9875ee6 100644
--- a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/java/org/apache/shardingsphere/test/integration/env/schema/SchemaEnvironmentManager.java
+++ b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/java/org/apache/shardingsphere/test/integration/env/schema/SchemaEnvironmentManager.java
@@ -17,7 +17,6 @@
 
 package org.apache.shardingsphere.test.integration.env.schema;
 
-import com.google.common.base.Joiner;
 import lombok.AccessLevel;
 import lombok.NoArgsConstructor;
 import org.apache.shardingsphere.infra.database.type.DatabaseType;
@@ -29,14 +28,12 @@ import org.h2.tools.RunScript;
 import javax.sql.DataSource;
 import javax.xml.bind.JAXBContext;
 import javax.xml.bind.JAXBException;
+import java.io.File;
 import java.io.FileReader;
 import java.io.IOException;
-import java.io.StringReader;
 import java.sql.Connection;
 import java.sql.SQLException;
 import java.util.Collection;
-import java.util.Collections;
-import java.util.stream.Collectors;
 
 /**
  * Schema environment manager.
@@ -63,154 +60,44 @@ public final class SchemaEnvironmentManager {
     }
     
     /**
-     * Create databases.
-     *
-     * @throws IOException IO exception
-     * @throws JAXBException JAXB exception
-     */
-    public static void createDatabases() throws IOException, JAXBException {
-        if (IntegrateTestEnvironment.getInstance().isEnvironmentPrepared()) {
-            return;
-        }
-        for (String each : IntegrateTestEnvironment.getInstance().getScenarios()) {
-            dropDatabases(each);
-            createDatabases(each);
-        }
-    }
-    
-    private static void createDatabases(final String scenario) throws IOException, JAXBException {
-        SchemaEnvironment schemaEnvironment = unmarshal(EnvironmentPath.getSchemaFile(scenario));
-        for (DatabaseType each : IntegrateTestEnvironment.getInstance().getDatabaseEnvironments().keySet()) {
-            // TODO use multiple threads to improve performance
-            DataSource dataSource = ActualDataSourceBuilder.build(null, scenario, each);
-            executeSQLScript(dataSource, generateCreateDatabaseSQLs(each, schemaEnvironment.getDatabases()));
-        }
-    }
-    
-    private static Collection<String> generateCreateDatabaseSQLs(final DatabaseType databaseType, final Collection<String> databaseNames) {
-        switch (databaseType.getName()) {
-            case "H2":
-                return Collections.emptyList();
-            case "Oracle":
-                return databaseNames.stream().map(each -> String.format("CREATE SCHEMA %s", each)).collect(Collectors.toList());
-            default:
-                return databaseNames.stream().map(each -> String.format("CREATE DATABASE %s", each)).collect(Collectors.toList());
-        }
-    }
-    
-    /**
-     * Drop databases.
-     *
+     * Execute init SQLs.
+     * 
      * @throws IOException IO exception
      * @throws JAXBException JAXB exception
+     * @throws SQLException SQL exception
      */
-    public static void dropDatabases() throws IOException, JAXBException {
-        if (IntegrateTestEnvironment.getInstance().isEnvironmentPrepared()) {
-            return;
-        }
+    public static void executeInitSQLs() throws IOException, JAXBException, SQLException {
         for (String each : IntegrateTestEnvironment.getInstance().getScenarios()) {
-            dropDatabases(each);
+            executeInitSQLs(each);
         }
     }
     
-    private static void dropDatabases(final String scenario) throws IOException, JAXBException {
-        SchemaEnvironment schemaEnvironment = unmarshal(EnvironmentPath.getSchemaFile(scenario));
+    private static void executeInitSQLs(final String scenario) throws IOException, JAXBException, SQLException {
         for (DatabaseType each : IntegrateTestEnvironment.getInstance().getDatabaseEnvironments().keySet()) {
+            if ("H2".equals(each.getName())) {
+                executeInitSQLForSchemaNotSupportedDatabase(scenario, each);
+                return;
+            }
             // TODO use multiple threads to improve performance
             DataSource dataSource = ActualDataSourceBuilder.build(null, scenario, each);
-            executeSQLScript(dataSource, generatePrepareDropDatabaseSQLs(each, schemaEnvironment.getDatabases()));
-            executeSQLScript(dataSource, generateDropDatabaseSQLs(each, schemaEnvironment.getDatabases()));
-        }
-    }
-    
-    private static Collection<String> generatePrepareDropDatabaseSQLs(final DatabaseType databaseType, final Collection<String> databaseNames) {
-        if ("PostgreSQL".equals(databaseType.getName())) {
-            String sql = "SELECT pg_terminate_backend (pg_stat_activity.pid) FROM pg_stat_activity WHERE pg_stat_activity.datname = '%s'";
-            return databaseNames.stream().map(each -> String.format(sql, each)).collect(Collectors.toList());
-        }
-        return Collections.emptyList();
-    }
-    
-    private static Collection<String> generateDropDatabaseSQLs(final DatabaseType databaseType, final Collection<String> databaseNames) {
-        switch (databaseType.getName()) {
-            case "H2":
-                return Collections.emptyList();
-            case "Oracle":
-                return databaseNames.stream().map(each -> String.format("DROP SCHEMA %s", each)).collect(Collectors.toList());
-            default:
-                return databaseNames.stream().map(each -> String.format("DROP DATABASE IF EXISTS %s", each)).collect(Collectors.toList());
-        }
-    }
-    
-    /**
-     * Create tables.
-     *
-     * @throws JAXBException JAXB exception
-     * @throws IOException IO exception
-     */
-    public static void createTables() throws JAXBException, IOException {
-        if (IntegrateTestEnvironment.getInstance().isEnvironmentPrepared()) {
-            return;
-        }
-        for (String each : IntegrateTestEnvironment.getInstance().getScenarios()) {
-            createTables(each);
+            File file = new File(EnvironmentPath.getInitSQLFile(each, scenario));
+            executeSQLScript(dataSource, file);
         }
     }
     
-    private static void createTables(final String scenario) throws JAXBException, IOException {
-        SchemaEnvironment schemaEnvironment = unmarshal(EnvironmentPath.getSchemaFile(scenario));
-        for (DatabaseType each : IntegrateTestEnvironment.getInstance().getDatabaseEnvironments().keySet()) {
-            createTables(schemaEnvironment, scenario, each);
-        }
-    }
-    
-    private static void createTables(final SchemaEnvironment schemaEnvironment, final String scenario, final DatabaseType databaseType) {
-        for (String each : schemaEnvironment.getDatabases()) {
+    private static void executeInitSQLForSchemaNotSupportedDatabase(final String scenario, final DatabaseType databaseType) throws IOException, JAXBException, SQLException {
+        File file = new File(EnvironmentPath.getInitSQLFile(databaseType, scenario));
+        for (String each : getDataSourceNames(scenario)) {
             // TODO use multiple threads to improve performance
             DataSource dataSource = ActualDataSourceBuilder.build(each, scenario, databaseType);
-            executeSQLScript(dataSource, schemaEnvironment.getTableCreateSQLs());
+            executeSQLScript(dataSource, file);
         }
     }
     
-    /**
-     * Drop tables.
-     *
-     * @throws JAXBException JAXB exception
-     * @throws IOException IO exception
-     */
-    public static void dropTables() throws JAXBException, IOException {
-        if (IntegrateTestEnvironment.getInstance().isEnvironmentPrepared()) {
-            return;
-        }
-        for (String each : IntegrateTestEnvironment.getInstance().getScenarios()) {
-            dropTables(each);
-        }
-    }
-    
-    private static void dropTables(final String scenario) throws JAXBException, IOException {
-        SchemaEnvironment schemaEnvironment = unmarshal(EnvironmentPath.getSchemaFile(scenario));
-        for (DatabaseType each : IntegrateTestEnvironment.getInstance().getDatabaseEnvironments().keySet()) {
-            dropTables(schemaEnvironment, scenario, each);
-        }
-    }
-    
-    private static void dropTables(final SchemaEnvironment schemaEnvironment, final String scenario, final DatabaseType databaseType) {
-        for (String each : schemaEnvironment.getDatabases()) {
-            // TODO use multiple threads to improve performance
-            DataSource dataSource = ActualDataSourceBuilder.build(each, scenario, databaseType);
-            executeSQLScript(dataSource, schemaEnvironment.getTableDropSQLs());
-        }
-    }
-    
-    private static void executeSQLScript(final DataSource dataSource, final Collection<String> sqls) {
-        if (sqls.isEmpty()) {
-            return;
-        }
+    private static void executeSQLScript(final DataSource dataSource, final File file) throws SQLException, IOException {
         try (Connection connection = dataSource.getConnection();
-             StringReader sqlScript = new StringReader(Joiner.on(";\n").skipNulls().join(sqls))) {
-            RunScript.execute(connection, sqlScript);
-        } catch (final SQLException ignored) {
-            // TODO print err message if not drop not existed database/table
+             FileReader reader = new FileReader(file)) {
+            RunScript.execute(connection, reader);
         }
     }
 }
diff --git a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/docker/db/docker-compose.yml b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/docker/db/docker-compose.yml
index c0bc552..649f5fe 100644
--- a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/docker/db/docker-compose.yml
+++ b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/docker/db/docker-compose.yml
@@ -23,7 +23,7 @@ services:
     container_name: db-mysql
     command: --default-authentication-plugin=mysql_native_password
     volumes:
-      - ../../env/db:/docker-entrypoint-initdb.d/
+      - ../../env/db/mysql:/docker-entrypoint-initdb.d/
     ports:
       - "33060:3306"
   
diff --git a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/docker/dbtbl_with_replica_query/docker-compose.yml b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/docker/dbtbl_with_replica_query/docker-compose.yml
index 8962ff7..1d22eeb 100644
--- a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/docker/dbtbl_with_replica_query/docker-compose.yml
+++ b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/docker/dbtbl_with_replica_query/docker-compose.yml
@@ -23,7 +23,7 @@ services:
     container_name: dbtbl-with-replica-query-mysql
     command: --default-authentication-plugin=mysql_native_password
     volumes:
-      - ../../env/dbtbl_with_replica_query:/docker-entrypoint-initdb.d/
+      - ../../env/dbtbl_with_replica_query/mysql:/docker-entrypoint-initdb.d/
     ports:
       - "33360:3306"
   
diff --git a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/docker/replica_query/docker-compose.yml b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/docker/replica_query/docker-compose.yml
index c78557e..31a16d5 100644
--- a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/docker/replica_query/docker-compose.yml
+++ b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/docker/replica_query/docker-compose.yml
@@ -23,7 +23,7 @@ services:
     container_name: replica-query-mysql
     command: --default-authentication-plugin=mysql_native_password
     volumes:
-      - ../../env/replica_query:/docker-entrypoint-initdb.d/
+      - ../../env/replica_query/mysql:/docker-entrypoint-initdb.d/
     ports:
       - "33260:3306"
   
diff --git a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/docker/tbl/docker-compose.yml b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/docker/tbl/docker-compose.yml
index b98b40f..c1b8c37 100644
--- a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/docker/tbl/docker-compose.yml
+++ b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/docker/tbl/docker-compose.yml
@@ -23,7 +23,7 @@ services:
     container_name: tbl-mysql
     command: --default-authentication-plugin=mysql_native_password
     volumes:
-      - ../../env/tbl:/docker-entrypoint-initdb.d/
+      - ../../env/tbl/mysql:/docker-entrypoint-initdb.d/
     ports:
       - "33160:3306"
   
diff --git a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/env/db/h2/init.sql b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/env/db/h2/init.sql
new file mode 100644
index 0000000..0fd19c9
--- /dev/null
+++ b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/env/db/h2/init.sql
@@ -0,0 +1,25 @@
+--
+-- Licensed to the Apache Software Foundation (ASF) under one or more
+-- contributor license agreements.  See the NOTICE file distributed with
+-- this work for additional information regarding copyright ownership.
+-- The ASF licenses this file to You under the Apache License, Version 2.0
+-- (the "License"); you may not use this file except in compliance with
+-- the License.  You may obtain a copy of the License at
+--
+--     http://www.apache.org/licenses/LICENSE-2.0
+--
+-- Unless required by applicable law or agreed to in writing, software
+-- distributed under the License is distributed on an "AS IS" BASIS,
+-- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+-- See the License for the specific language governing permissions and
+-- limitations under the License.
+--
+
+DROP TABLE IF EXISTS t_order;
+DROP TABLE IF EXISTS t_order_item;
+DROP TABLE IF EXISTS t_broadcast_table;
+
+CREATE TABLE t_order (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
+CREATE TABLE t_order_item (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_broadcast_table (id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (id));
+CREATE INDEX order_index_t_order ON t_order (order_id);
diff --git a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/env/db/init.sql b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/env/db/mysql/init.sql
similarity index 81%
copy from shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/env/db/init.sql
copy to shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/env/db/mysql/init.sql
index 850215b..83ed233 100644
--- a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/env/db/init.sql
+++ b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/env/db/mysql/init.sql
@@ -1,23 +1,34 @@
-#
-# Licensed to the Apache Software Foundation (ASF) under one or more
-# contributor license agreements.  See the NOTICE file distributed with
-# this work for additional information regarding copyright ownership.
-# The ASF licenses this file to You under the Apache License, Version 2.0
-# (the "License"); you may not use this file except in compliance with
-# the License.  You may obtain a copy of the License at
-#
-#     http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
+--
+-- Licensed to the Apache Software Foundation (ASF) under one or more
+-- contributor license agreements.  See the NOTICE file distributed with
+-- this work for additional information regarding copyright ownership.
+-- The ASF licenses this file to You under the Apache License, Version 2.0
+-- (the "License"); you may not use this file except in compliance with
+-- the License.  You may obtain a copy of the License at
+--
+--     http://www.apache.org/licenses/LICENSE-2.0
+--
+-- Unless required by applicable law or agreed to in writing, software
+-- distributed under the License is distributed on an "AS IS" BASIS,
+-- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+-- See the License for the specific language governing permissions and
+-- limitations under the License.
+--
 
 CREATE USER 'root'@'%' IDENTIFIED BY '';
 GRANT All privileges ON *.* TO 'root'@'%';
 
+DROP DATABASE IF EXISTS db_0;
+DROP DATABASE IF EXISTS db_1;
+DROP DATABASE IF EXISTS db_2;
+DROP DATABASE IF EXISTS db_3;
+DROP DATABASE IF EXISTS db_4;
+DROP DATABASE IF EXISTS db_5;
+DROP DATABASE IF EXISTS db_6;
+DROP DATABASE IF EXISTS db_7;
+DROP DATABASE IF EXISTS db_8;
+DROP DATABASE IF EXISTS db_9;
+
 CREATE DATABASE db_0;
 CREATE DATABASE db_1;
 CREATE DATABASE db_2;
diff --git a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/env/db/init.sql b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/env/db/oracle/init.sql
similarity index 79%
copy from shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/env/db/init.sql
copy to shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/env/db/oracle/init.sql
index 850215b..f4a7468 100644
--- a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/env/db/init.sql
+++ b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/env/db/oracle/init.sql
@@ -1,33 +1,44 @@
-#
-# Licensed to the Apache Software Foundation (ASF) under one or more
-# contributor license agreements.  See the NOTICE file distributed with
-# this work for additional information regarding copyright ownership.
-# The ASF licenses this file to You under the Apache License, Version 2.0
-# (the "License"); you may not use this file except in compliance with
-# the License.  You may obtain a copy of the License at
-#
-#     http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
+--
+-- Licensed to the Apache Software Foundation (ASF) under one or more
+-- contributor license agreements.  See the NOTICE file distributed with
+-- this work for additional information regarding copyright ownership.
+-- The ASF licenses this file to You under the Apache License, Version 2.0
+-- (the "License"); you may not use this file except in compliance with
+-- the License.  You may obtain a copy of the License at
+--
+--     http://www.apache.org/licenses/LICENSE-2.0
+--
+-- Unless required by applicable law or agreed to in writing, software
+-- distributed under the License is distributed on an "AS IS" BASIS,
+-- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+-- See the License for the specific language governing permissions and
+-- limitations under the License.
+--
 
 CREATE USER 'root'@'%' IDENTIFIED BY '';
 GRANT All privileges ON *.* TO 'root'@'%';
 
-CREATE DATABASE db_0;
-CREATE DATABASE db_1;
-CREATE DATABASE db_2;
-CREATE DATABASE db_3;
-CREATE DATABASE db_4;
-CREATE DATABASE db_5;
-CREATE DATABASE db_6;
-CREATE DATABASE db_7;
-CREATE DATABASE db_8;
-CREATE DATABASE db_9;
+DROP SCHEMA db_0;
+DROP SCHEMA db_1;
+DROP SCHEMA db_2;
+DROP SCHEMA db_3;
+DROP SCHEMA db_4;
+DROP SCHEMA db_5;
+DROP SCHEMA db_6;
+DROP SCHEMA db_7;
+DROP SCHEMA db_8;
+DROP SCHEMA db_9;
+
+CREATE SCHEMA db_0;
+CREATE SCHEMA db_1;
+CREATE SCHEMA db_2;
+CREATE SCHEMA db_3;
+CREATE SCHEMA db_4;
+CREATE SCHEMA db_5;
+CREATE SCHEMA db_6;
+CREATE SCHEMA db_7;
+CREATE SCHEMA db_8;
+CREATE SCHEMA db_9;
 
 CREATE TABLE db_0.t_order (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
 CREATE TABLE db_0.t_order_item (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
diff --git a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/env/db/init.sql b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/env/db/postgresql/init.sql
similarity index 68%
copy from shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/env/db/init.sql
copy to shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/env/db/postgresql/init.sql
index 850215b..28e199f 100644
--- a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/env/db/init.sql
+++ b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/env/db/postgresql/init.sql
@@ -1,23 +1,45 @@
-#
-# Licensed to the Apache Software Foundation (ASF) under one or more
-# contributor license agreements.  See the NOTICE file distributed with
-# this work for additional information regarding copyright ownership.
-# The ASF licenses this file to You under the Apache License, Version 2.0
-# (the "License"); you may not use this file except in compliance with
-# the License.  You may obtain a copy of the License at
-#
-#     http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
+--
+-- Licensed to the Apache Software Foundation (ASF) under one or more
+-- contributor license agreements.  See the NOTICE file distributed with
+-- this work for additional information regarding copyright ownership.
+-- The ASF licenses this file to You under the Apache License, Version 2.0
+-- (the "License"); you may not use this file except in compliance with
+-- the License.  You may obtain a copy of the License at
+--
+--     http://www.apache.org/licenses/LICENSE-2.0
+--
+-- Unless required by applicable law or agreed to in writing, software
+-- distributed under the License is distributed on an "AS IS" BASIS,
+-- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+-- See the License for the specific language governing permissions and
+-- limitations under the License.
+--
 
 CREATE USER 'root'@'%' IDENTIFIED BY '';
 GRANT All privileges ON *.* TO 'root'@'%';
 
+SELECT pg_terminate_backend (pg_stat_activity.pid) FROM pg_stat_activity WHERE pg_stat_activity.datname = 'db_0';
+SELECT pg_terminate_backend (pg_stat_activity.pid) FROM pg_stat_activity WHERE pg_stat_activity.datname = 'db_1';
+SELECT pg_terminate_backend (pg_stat_activity.pid) FROM pg_stat_activity WHERE pg_stat_activity.datname = 'db_2';
+SELECT pg_terminate_backend (pg_stat_activity.pid) FROM pg_stat_activity WHERE pg_stat_activity.datname = 'db_3';
+SELECT pg_terminate_backend (pg_stat_activity.pid) FROM pg_stat_activity WHERE pg_stat_activity.datname = 'db_4';
+SELECT pg_terminate_backend (pg_stat_activity.pid) FROM pg_stat_activity WHERE pg_stat_activity.datname = 'db_5';
+SELECT pg_terminate_backend (pg_stat_activity.pid) FROM pg_stat_activity WHERE pg_stat_activity.datname = 'db_6';
+SELECT pg_terminate_backend (pg_stat_activity.pid) FROM pg_stat_activity WHERE pg_stat_activity.datname = 'db_7';
+SELECT pg_terminate_backend (pg_stat_activity.pid) FROM pg_stat_activity WHERE pg_stat_activity.datname = 'db_8';
+SELECT pg_terminate_backend (pg_stat_activity.pid) FROM pg_stat_activity WHERE pg_stat_activity.datname = 'db_9';
+
+DROP DATABASE IF EXISTS db_0;
+DROP DATABASE IF EXISTS db_1;
+DROP DATABASE IF EXISTS db_2;
+DROP DATABASE IF EXISTS db_3;
+DROP DATABASE IF EXISTS db_4;
+DROP DATABASE IF EXISTS db_5;
+DROP DATABASE IF EXISTS db_6;
+DROP DATABASE IF EXISTS db_7;
+DROP DATABASE IF EXISTS db_8;
+DROP DATABASE IF EXISTS db_9;
+
 CREATE DATABASE db_0;
 CREATE DATABASE db_1;
 CREATE DATABASE db_2;
diff --git a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/env/db/init.sql b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/env/db/sqlserver/init.sql
similarity index 81%
rename from shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/env/db/init.sql
rename to shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/env/db/sqlserver/init.sql
index 850215b..83ed233 100644
--- a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/env/db/init.sql
+++ b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/env/db/sqlserver/init.sql
@@ -1,23 +1,34 @@
-#
-# Licensed to the Apache Software Foundation (ASF) under one or more
-# contributor license agreements.  See the NOTICE file distributed with
-# this work for additional information regarding copyright ownership.
-# The ASF licenses this file to You under the Apache License, Version 2.0
-# (the "License"); you may not use this file except in compliance with
-# the License.  You may obtain a copy of the License at
-#
-#     http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
+--
+-- Licensed to the Apache Software Foundation (ASF) under one or more
+-- contributor license agreements.  See the NOTICE file distributed with
+-- this work for additional information regarding copyright ownership.
+-- The ASF licenses this file to You under the Apache License, Version 2.0
+-- (the "License"); you may not use this file except in compliance with
+-- the License.  You may obtain a copy of the License at
+--
+--     http://www.apache.org/licenses/LICENSE-2.0
+--
+-- Unless required by applicable law or agreed to in writing, software
+-- distributed under the License is distributed on an "AS IS" BASIS,
+-- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+-- See the License for the specific language governing permissions and
+-- limitations under the License.
+--
 
 CREATE USER 'root'@'%' IDENTIFIED BY '';
 GRANT All privileges ON *.* TO 'root'@'%';
 
+DROP DATABASE IF EXISTS db_0;
+DROP DATABASE IF EXISTS db_1;
+DROP DATABASE IF EXISTS db_2;
+DROP DATABASE IF EXISTS db_3;
+DROP DATABASE IF EXISTS db_4;
+DROP DATABASE IF EXISTS db_5;
+DROP DATABASE IF EXISTS db_6;
+DROP DATABASE IF EXISTS db_7;
+DROP DATABASE IF EXISTS db_8;
+DROP DATABASE IF EXISTS db_9;
+
 CREATE DATABASE db_0;
 CREATE DATABASE db_1;
 CREATE DATABASE db_2;
diff --git a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/env/dbtbl_with_replica_query/h2/init.sql b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/env/dbtbl_with_replica_query/h2/init.sql
new file mode 100644
index 0000000..63f093f
--- /dev/null
+++ b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/env/dbtbl_with_replica_query/h2/init.sql
@@ -0,0 +1,70 @@
+--
+-- Licensed to the Apache Software Foundation (ASF) under one or more
+-- contributor license agreements.  See the NOTICE file distributed with
+-- this work for additional information regarding copyright ownership.
+-- The ASF licenses this file to You under the Apache License, Version 2.0
+-- (the "License"); you may not use this file except in compliance with
+-- the License.  You may obtain a copy of the License at
+--
+--     http://www.apache.org/licenses/LICENSE-2.0
+--
+-- Unless required by applicable law or agreed to in writing, software
+-- distributed under the License is distributed on an "AS IS" BASIS,
+-- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+-- See the License for the specific language governing permissions and
+-- limitations under the License.
+--
+
+DROP TABLE IF EXISTS t_order_0;
+DROP TABLE IF EXISTS t_order_item_0;
+DROP TABLE IF EXISTS t_order_1;
+DROP TABLE IF EXISTS t_order_item_1;
+DROP TABLE IF EXISTS t_order_2;
+DROP TABLE IF EXISTS t_order_item_2;
+DROP TABLE IF EXISTS t_order_3;
+DROP TABLE IF EXISTS t_order_item_3;
+DROP TABLE IF EXISTS t_order_4;
+DROP TABLE IF EXISTS t_order_item_4;
+DROP TABLE IF EXISTS t_order_5;
+DROP TABLE IF EXISTS t_order_item_5;
+DROP TABLE IF EXISTS t_order_6;
+DROP TABLE IF EXISTS t_order_item_6;
+DROP TABLE IF EXISTS t_order_7;
+DROP TABLE IF EXISTS t_order_item_7;
+DROP TABLE IF EXISTS t_order_8;
+DROP TABLE IF EXISTS t_order_item_8;
+DROP TABLE IF EXISTS t_order_9;
+DROP TABLE IF EXISTS t_order_item_9;
+DROP TABLE IF EXISTS t_broadcast_table;
+
+CREATE TABLE t_order_0 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
+CREATE TABLE t_order_item_0 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_order_1 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
+CREATE TABLE t_order_item_1 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_order_2 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
+CREATE TABLE t_order_item_2 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_order_3 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
+CREATE TABLE t_order_item_3 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_order_4 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
+CREATE TABLE t_order_item_4 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_order_5 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
+CREATE TABLE t_order_item_5 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_order_6 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
+CREATE TABLE t_order_item_6 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_order_7 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
+CREATE TABLE t_order_item_7 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_order_8 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
+CREATE TABLE t_order_item_8 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_order_9 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
+CREATE TABLE t_order_item_9 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_broadcast_table (id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (id));
+CREATE INDEX order_index_t_order_0 ON t_order_0 (order_id);
+CREATE INDEX order_index_t_order_1 ON t_order_1 (order_id);
+CREATE INDEX order_index_t_order_2 ON t_order_2 (order_id);
+CREATE INDEX order_index_t_order_3 ON t_order_3 (order_id);
+CREATE INDEX order_index_t_order_4 ON t_order_4 (order_id);
+CREATE INDEX order_index_t_order_5 ON t_order_5 (order_id);
+CREATE INDEX order_index_t_order_6 ON t_order_6 (order_id);
+CREATE INDEX order_index_t_order_7 ON t_order_7 (order_id);
+CREATE INDEX order_index_t_order_8 ON t_order_8 (order_id);
+CREATE INDEX order_index_t_order_9 ON t_order_9 (order_id);
diff --git a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/env/dbtbl_with_replica_query/init.sql b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/env/dbtbl_with_replica_query/mysql/init.sql
similarity index 94%
copy from shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/env/dbtbl_with_replica_query/init.sql
copy to shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/env/dbtbl_with_replica_query/mysql/init.sql
index 80ae5c6..2b8fd66 100644
--- a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/env/dbtbl_with_replica_query/init.sql
+++ b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/env/dbtbl_with_replica_query/mysql/init.sql
@@ -1,23 +1,61 @@
-#
-# Licensed to the Apache Software Foundation (ASF) under one or more
-# contributor license agreements.  See the NOTICE file distributed with
-# this work for additional information regarding copyright ownership.
-# The ASF licenses this file to You under the Apache License, Version 2.0
-# (the "License"); you may not use this file except in compliance with
-# the License.  You may obtain a copy of the License at
-#
-#     http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+--
+-- Licensed to the Apache Software Foundation (ASF) under one or more
+-- contributor license agreements.  See the NOTICE file distributed with
+-- this work for additional information regarding copyright ownership.
+-- The ASF licenses this file to You under the Apache License, Version 2.0
+-- (the "License"); you may not use this file except in compliance with
+-- the License.  You may obtain a copy of the License at
+--
+--     http://www.apache.org/licenses/LICENSE-2.0
+--
+-- Unless required by applicable law or agreed to in writing, software
+-- distributed under the License is distributed on an "AS IS" BASIS,
+-- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+-- See the License for the specific language governing permissions and
+-- limitations under the License.
+--
 
 CREATE USER 'root'@'%' IDENTIFIED BY '';
 GRANT All privileges ON *.* TO 'root'@'%';
 
+DROP DATABASE IF EXISTS primary_ds_0;
+DROP DATABASE IF EXISTS primary_ds_1;
+DROP DATABASE IF EXISTS primary_ds_2;
+DROP DATABASE IF EXISTS primary_ds_3;
+DROP DATABASE IF EXISTS primary_ds_4;
+DROP DATABASE IF EXISTS primary_ds_5;
+DROP DATABASE IF EXISTS primary_ds_6;
+DROP DATABASE IF EXISTS primary_ds_7;
+DROP DATABASE IF EXISTS primary_ds_8;
+DROP DATABASE IF EXISTS primary_ds_9;
+DROP DATABASE IF EXISTS replica_ds_0;
+DROP DATABASE IF EXISTS replica_ds_1;
+DROP DATABASE IF EXISTS replica_ds_2;
+DROP DATABASE IF EXISTS replica_ds_3;
+DROP DATABASE IF EXISTS replica_ds_4;
+DROP DATABASE IF EXISTS replica_ds_5;
+DROP DATABASE IF EXISTS replica_ds_6;
+DROP DATABASE IF EXISTS replica_ds_7;
+DROP DATABASE IF EXISTS replica_ds_8;
+DROP DATABASE IF EXISTS replica_ds_9;
+
 CREATE DATABASE primary_ds_0;
 CREATE DATABASE primary_ds_1;
 CREATE DATABASE primary_ds_2;
@@ -59,6 +97,7 @@ CREATE TABLE primary_ds_0.t_order_8 (order_id INT NOT NULL, user_id INT NOT NULL
 CREATE TABLE primary_ds_0.t_order_item_8 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
 CREATE TABLE primary_ds_0.t_order_9 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
 CREATE TABLE primary_ds_0.t_order_item_9 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE primary_ds_0.t_broadcast_table (id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (id));
 CREATE INDEX order_index_t_order_0 ON primary_ds_0.t_order_0 (order_id);
 CREATE INDEX order_index_t_order_1 ON primary_ds_0.t_order_1 (order_id);
 CREATE INDEX order_index_t_order_2 ON primary_ds_0.t_order_2 (order_id);
@@ -90,6 +129,7 @@ CREATE TABLE primary_ds_1.t_order_8 (order_id INT NOT NULL, user_id INT NOT NULL
 CREATE TABLE primary_ds_1.t_order_item_8 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
 CREATE TABLE primary_ds_1.t_order_9 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
 CREATE TABLE primary_ds_1.t_order_item_9 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE primary_ds_1.t_broadcast_table (id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (id));
 CREATE INDEX order_index_t_order_0 ON primary_ds_1.t_order_0 (order_id);
 CREATE INDEX order_index_t_order_1 ON primary_ds_1.t_order_1 (order_id);
 CREATE INDEX order_index_t_order_2 ON primary_ds_1.t_order_2 (order_id);
@@ -121,6 +161,7 @@ CREATE TABLE primary_ds_2.t_order_8 (order_id INT NOT NULL, user_id INT NOT NULL
 CREATE TABLE primary_ds_2.t_order_item_8 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
 CREATE TABLE primary_ds_2.t_order_9 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
 CREATE TABLE primary_ds_2.t_order_item_9 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE primary_ds_2.t_broadcast_table (id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (id));
 CREATE INDEX order_index_t_order_0 ON primary_ds_2.t_order_0 (order_id);
 CREATE INDEX order_index_t_order_1 ON primary_ds_2.t_order_1 (order_id);
 CREATE INDEX order_index_t_order_2 ON primary_ds_2.t_order_2 (order_id);
@@ -152,6 +193,7 @@ CREATE TABLE primary_ds_3.t_order_8 (order_id INT NOT NULL, user_id INT NOT NULL
 CREATE TABLE primary_ds_3.t_order_item_8 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
 CREATE TABLE primary_ds_3.t_order_9 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
 CREATE TABLE primary_ds_3.t_order_item_9 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE primary_ds_3.t_broadcast_table (id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (id));
 CREATE INDEX order_index_t_order_0 ON primary_ds_3.t_order_0 (order_id);
 CREATE INDEX order_index_t_order_1 ON primary_ds_3.t_order_1 (order_id);
 CREATE INDEX order_index_t_order_2 ON primary_ds_3.t_order_2 (order_id);
@@ -183,6 +225,7 @@ CREATE TABLE primary_ds_4.t_order_8 (order_id INT NOT NULL, user_id INT NOT NULL
 CREATE TABLE primary_ds_4.t_order_item_8 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
 CREATE TABLE primary_ds_4.t_order_9 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
 CREATE TABLE primary_ds_4.t_order_item_9 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE primary_ds_4.t_broadcast_table (id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (id));
 CREATE INDEX order_index_t_order_0 ON primary_ds_4.t_order_0 (order_id);
 CREATE INDEX order_index_t_order_1 ON primary_ds_4.t_order_1 (order_id);
 CREATE INDEX order_index_t_order_2 ON primary_ds_4.t_order_2 (order_id);
@@ -214,6 +257,7 @@ CREATE TABLE primary_ds_5.t_order_8 (order_id INT NOT NULL, user_id INT NOT NULL
 CREATE TABLE primary_ds_5.t_order_item_8 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
 CREATE TABLE primary_ds_5.t_order_9 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
 CREATE TABLE primary_ds_5.t_order_item_9 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE primary_ds_5.t_broadcast_table (id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (id));
 CREATE INDEX order_index_t_order_0 ON primary_ds_5.t_order_0 (order_id);
 CREATE INDEX order_index_t_order_1 ON primary_ds_5.t_order_1 (order_id);
 CREATE INDEX order_index_t_order_2 ON primary_ds_5.t_order_2 (order_id);
@@ -245,6 +289,7 @@ CREATE TABLE primary_ds_6.t_order_8 (order_id INT NOT NULL, user_id INT NOT NULL
 CREATE TABLE primary_ds_6.t_order_item_8 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
 CREATE TABLE primary_ds_6.t_order_9 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
 CREATE TABLE primary_ds_6.t_order_item_9 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE primary_ds_6.t_broadcast_table (id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (id));
 CREATE INDEX order_index_t_order_0 ON primary_ds_6.t_order_0 (order_id);
 CREATE INDEX order_index_t_order_1 ON primary_ds_6.t_order_1 (order_id);
 CREATE INDEX order_index_t_order_2 ON primary_ds_6.t_order_2 (order_id);
@@ -276,6 +321,7 @@ CREATE TABLE primary_ds_7.t_order_8 (order_id INT NOT NULL, user_id INT NOT NULL
 CREATE TABLE primary_ds_7.t_order_item_8 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
 CREATE TABLE primary_ds_7.t_order_9 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
 CREATE TABLE primary_ds_7.t_order_item_9 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE primary_ds_7.t_broadcast_table (id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (id));
 CREATE INDEX order_index_t_order_0 ON primary_ds_7.t_order_0 (order_id);
 CREATE INDEX order_index_t_order_1 ON primary_ds_7.t_order_1 (order_id);
 CREATE INDEX order_index_t_order_2 ON primary_ds_7.t_order_2 (order_id);
@@ -307,6 +353,7 @@ CREATE TABLE primary_ds_8.t_order_8 (order_id INT NOT NULL, user_id INT NOT NULL
 CREATE TABLE primary_ds_8.t_order_item_8 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
 CREATE TABLE primary_ds_8.t_order_9 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
 CREATE TABLE primary_ds_8.t_order_item_9 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE primary_ds_8.t_broadcast_table (id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (id));
 CREATE INDEX order_index_t_order_0 ON primary_ds_8.t_order_0 (order_id);
 CREATE INDEX order_index_t_order_1 ON primary_ds_8.t_order_1 (order_id);
 CREATE INDEX order_index_t_order_2 ON primary_ds_8.t_order_2 (order_id);
@@ -338,6 +385,7 @@ CREATE TABLE primary_ds_9.t_order_8 (order_id INT NOT NULL, user_id INT NOT NULL
 CREATE TABLE primary_ds_9.t_order_item_8 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
 CREATE TABLE primary_ds_9.t_order_9 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
 CREATE TABLE primary_ds_9.t_order_item_9 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE primary_ds_9.t_broadcast_table (id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (id));
 CREATE INDEX order_index_t_order_0 ON primary_ds_9.t_order_0 (order_id);
 CREATE INDEX order_index_t_order_1 ON primary_ds_9.t_order_1 (order_id);
 CREATE INDEX order_index_t_order_2 ON primary_ds_9.t_order_2 (order_id);
@@ -369,6 +417,7 @@ CREATE TABLE replica_ds_0.t_order_8 (order_id INT NOT NULL, user_id INT NOT NULL
 CREATE TABLE replica_ds_0.t_order_item_8 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
 CREATE TABLE replica_ds_0.t_order_9 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
 CREATE TABLE replica_ds_0.t_order_item_9 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE replica_ds_0.t_broadcast_table (id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (id));
 CREATE INDEX order_index_t_order_0 ON replica_ds_0.t_order_0 (order_id);
 CREATE INDEX order_index_t_order_1 ON replica_ds_0.t_order_1 (order_id);
 CREATE INDEX order_index_t_order_2 ON replica_ds_0.t_order_2 (order_id);
@@ -400,6 +449,7 @@ CREATE TABLE replica_ds_1.t_order_8 (order_id INT NOT NULL, user_id INT NOT NULL
 CREATE TABLE replica_ds_1.t_order_item_8 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
 CREATE TABLE replica_ds_1.t_order_9 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
 CREATE TABLE replica_ds_1.t_order_item_9 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE replica_ds_1.t_broadcast_table (id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (id));
 CREATE INDEX order_index_t_order_0 ON replica_ds_1.t_order_0 (order_id);
 CREATE INDEX order_index_t_order_1 ON replica_ds_1.t_order_1 (order_id);
 CREATE INDEX order_index_t_order_2 ON replica_ds_1.t_order_2 (order_id);
@@ -431,6 +481,7 @@ CREATE TABLE replica_ds_2.t_order_8 (order_id INT NOT NULL, user_id INT NOT NULL
 CREATE TABLE replica_ds_2.t_order_item_8 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
 CREATE TABLE replica_ds_2.t_order_9 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
 CREATE TABLE replica_ds_2.t_order_item_9 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE replica_ds_2.t_broadcast_table (id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (id));
 CREATE INDEX order_index_t_order_0 ON replica_ds_2.t_order_0 (order_id);
 CREATE INDEX order_index_t_order_1 ON replica_ds_2.t_order_1 (order_id);
 CREATE INDEX order_index_t_order_2 ON replica_ds_2.t_order_2 (order_id);
@@ -462,6 +513,7 @@ CREATE TABLE replica_ds_3.t_order_8 (order_id INT NOT NULL, user_id INT NOT NULL
 CREATE TABLE replica_ds_3.t_order_item_8 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
 CREATE TABLE replica_ds_3.t_order_9 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
 CREATE TABLE replica_ds_3.t_order_item_9 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE replica_ds_3.t_broadcast_table (id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (id));
 CREATE INDEX order_index_t_order_0 ON replica_ds_3.t_order_0 (order_id);
 CREATE INDEX order_index_t_order_1 ON replica_ds_3.t_order_1 (order_id);
 CREATE INDEX order_index_t_order_2 ON replica_ds_3.t_order_2 (order_id);
@@ -493,6 +545,7 @@ CREATE TABLE replica_ds_4.t_order_8 (order_id INT NOT NULL, user_id INT NOT NULL
 CREATE TABLE replica_ds_4.t_order_item_8 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
 CREATE TABLE replica_ds_4.t_order_9 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
 CREATE TABLE replica_ds_4.t_order_item_9 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE replica_ds_4.t_broadcast_table (id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (id));
 CREATE INDEX order_index_t_order_0 ON replica_ds_4.t_order_0 (order_id);
 CREATE INDEX order_index_t_order_1 ON replica_ds_4.t_order_1 (order_id);
 CREATE INDEX order_index_t_order_2 ON replica_ds_4.t_order_2 (order_id);
@@ -524,6 +577,7 @@ CREATE TABLE replica_ds_5.t_order_8 (order_id INT NOT NULL, user_id INT NOT NULL
 CREATE TABLE replica_ds_5.t_order_item_8 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
 CREATE TABLE replica_ds_5.t_order_9 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
 CREATE TABLE replica_ds_5.t_order_item_9 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE replica_ds_5.t_broadcast_table (id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (id));
 CREATE INDEX order_index_t_order_0 ON replica_ds_5.t_order_0 (order_id);
 CREATE INDEX order_index_t_order_1 ON replica_ds_5.t_order_1 (order_id);
 CREATE INDEX order_index_t_order_2 ON replica_ds_5.t_order_2 (order_id);
@@ -555,6 +609,7 @@ CREATE TABLE replica_ds_6.t_order_8 (order_id INT NOT NULL, user_id INT NOT NULL
 CREATE TABLE replica_ds_6.t_order_item_8 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
 CREATE TABLE replica_ds_6.t_order_9 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
 CREATE TABLE replica_ds_6.t_order_item_9 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE replica_ds_6.t_broadcast_table (id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (id));
 CREATE INDEX order_index_t_order_0 ON replica_ds_6.t_order_0 (order_id);
 CREATE INDEX order_index_t_order_1 ON replica_ds_6.t_order_1 (order_id);
 CREATE INDEX order_index_t_order_2 ON replica_ds_6.t_order_2 (order_id);
@@ -586,6 +641,7 @@ CREATE TABLE replica_ds_7.t_order_8 (order_id INT NOT NULL, user_id INT NOT NULL
 CREATE TABLE replica_ds_7.t_order_item_8 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
 CREATE TABLE replica_ds_7.t_order_9 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
 CREATE TABLE replica_ds_7.t_order_item_9 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE replica_ds_7.t_broadcast_table (id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (id));
 CREATE INDEX order_index_t_order_0 ON replica_ds_7.t_order_0 (order_id);
 CREATE INDEX order_index_t_order_1 ON replica_ds_7.t_order_1 (order_id);
 CREATE INDEX order_index_t_order_2 ON replica_ds_7.t_order_2 (order_id);
@@ -617,6 +673,7 @@ CREATE TABLE replica_ds_8.t_order_8 (order_id INT NOT NULL, user_id INT NOT NULL
 CREATE TABLE replica_ds_8.t_order_item_8 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
 CREATE TABLE replica_ds_8.t_order_9 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
 CREATE TABLE replica_ds_8.t_order_item_9 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE replica_ds_8.t_broadcast_table (id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (id));
 CREATE INDEX order_index_t_order_0 ON replica_ds_8.t_order_0 (order_id);
 CREATE INDEX order_index_t_order_1 ON replica_ds_8.t_order_1 (order_id);
 CREATE INDEX order_index_t_order_2 ON replica_ds_8.t_order_2 (order_id);
@@ -648,6 +705,7 @@ CREATE TABLE replica_ds_9.t_order_8 (order_id INT NOT NULL, user_id INT NOT NULL
 CREATE TABLE replica_ds_9.t_order_item_8 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
 CREATE TABLE replica_ds_9.t_order_9 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
 CREATE TABLE replica_ds_9.t_order_item_9 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE replica_ds_9.t_broadcast_table (id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (id));
 CREATE INDEX order_index_t_order_0 ON replica_ds_9.t_order_0 (order_id);
 CREATE INDEX order_index_t_order_1 ON replica_ds_9.t_order_1 (order_id);
 CREATE INDEX order_index_t_order_2 ON replica_ds_9.t_order_2 (order_id);
diff --git a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/env/dbtbl_with_replica_query/init.sql b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/env/dbtbl_with_replica_query/oracle/init.sql
similarity index 95%
copy from shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/env/dbtbl_with_replica_query/init.sql
copy to shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/env/dbtbl_with_replica_query/oracle/init.sql
index 80ae5c6..6f3917a 100644
--- a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/env/dbtbl_with_replica_query/init.sql
+++ b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/env/dbtbl_with_replica_query/oracle/init.sql
@@ -1,43 +1,64 @@
-#
-# Licensed to the Apache Software Foundation (ASF) under one or more
-# contributor license agreements.  See the NOTICE file distributed with
-# this work for additional information regarding copyright ownership.
-# The ASF licenses this file to You under the Apache License, Version 2.0
-# (the "License"); you may not use this file except in compliance with
-# the License.  You may obtain a copy of the License at
-#
-#     http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
+--
+-- Licensed to the Apache Software Foundation (ASF) under one or more
+-- contributor license agreements.  See the NOTICE file distributed with
+-- this work for additional information regarding copyright ownership.
+-- The ASF licenses this file to You under the Apache License, Version 2.0
+-- (the "License"); you may not use this file except in compliance with
+-- the License.  You may obtain a copy of the License at
+--
+--     http://www.apache.org/licenses/LICENSE-2.0
+--
+-- Unless required by applicable law or agreed to in writing, software
+-- distributed under the License is distributed on an "AS IS" BASIS,
+-- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+-- See the License for the specific language governing permissions and
+-- limitations under the License.
+--
 
 CREATE USER 'root'@'%' IDENTIFIED BY '';
 GRANT All privileges ON *.* TO 'root'@'%';
 
-CREATE DATABASE primary_ds_0;
-CREATE DATABASE primary_ds_1;
-CREATE DATABASE primary_ds_2;
-CREATE DATABASE primary_ds_3;
-CREATE DATABASE primary_ds_4;
-CREATE DATABASE primary_ds_5;
-CREATE DATABASE primary_ds_6;
-CREATE DATABASE primary_ds_7;
-CREATE DATABASE primary_ds_8;
-CREATE DATABASE primary_ds_9;
-CREATE DATABASE replica_ds_0;
-CREATE DATABASE replica_ds_1;
-CREATE DATABASE replica_ds_2;
-CREATE DATABASE replica_ds_3;
-CREATE DATABASE replica_ds_4;
-CREATE DATABASE replica_ds_5;
-CREATE DATABASE replica_ds_6;
-CREATE DATABASE replica_ds_7;
-CREATE DATABASE replica_ds_8;
-CREATE DATABASE replica_ds_9;
+DROP SCHEMA primary_ds_0;
+DROP SCHEMA primary_ds_1;
+DROP SCHEMA primary_ds_2;
+DROP SCHEMA primary_ds_3;
+DROP SCHEMA primary_ds_4;
+DROP SCHEMA primary_ds_5;
+DROP SCHEMA primary_ds_6;
+DROP SCHEMA primary_ds_7;
+DROP SCHEMA primary_ds_8;
+DROP SCHEMA primary_ds_9;
+DROP SCHEMA replica_ds_0;
+DROP SCHEMA replica_ds_1;
+DROP SCHEMA replica_ds_2;
+DROP SCHEMA replica_ds_3;
+DROP SCHEMA replica_ds_4;
+DROP SCHEMA replica_ds_5;
+DROP SCHEMA replica_ds_6;
+DROP SCHEMA replica_ds_7;
+DROP SCHEMA replica_ds_8;
+DROP SCHEMA replica_ds_9;
+
+CREATE SCHEMA primary_ds_0;
+CREATE SCHEMA primary_ds_1;
+CREATE SCHEMA primary_ds_2;
+CREATE SCHEMA primary_ds_3;
+CREATE SCHEMA primary_ds_4;
+CREATE SCHEMA primary_ds_5;
+CREATE SCHEMA primary_ds_6;
+CREATE SCHEMA primary_ds_7;
+CREATE SCHEMA primary_ds_8;
+CREATE SCHEMA primary_ds_9;
+CREATE SCHEMA replica_ds_0;
+CREATE SCHEMA replica_ds_1;
+CREATE SCHEMA replica_ds_2;
+CREATE SCHEMA replica_ds_3;
+CREATE SCHEMA replica_ds_4;
+CREATE SCHEMA replica_ds_5;
+CREATE SCHEMA replica_ds_6;
+CREATE SCHEMA replica_ds_7;
+CREATE SCHEMA replica_ds_8;
+CREATE SCHEMA replica_ds_9;
 
 CREATE TABLE primary_ds_0.t_order_0 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
 CREATE TABLE primary_ds_0.t_order_item_0 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
@@ -59,6 +80,7 @@ CREATE TABLE primary_ds_0.t_order_8 (order_id INT NOT NULL, user_id INT NOT NULL
 CREATE TABLE primary_ds_0.t_order_item_8 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
 CREATE TABLE primary_ds_0.t_order_9 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
 CREATE TABLE primary_ds_0.t_order_item_9 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE primary_ds_0.t_broadcast_table (id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (id));
 CREATE INDEX order_index_t_order_0 ON primary_ds_0.t_order_0 (order_id);
 CREATE INDEX order_index_t_order_1 ON primary_ds_0.t_order_1 (order_id);
 CREATE INDEX order_index_t_order_2 ON primary_ds_0.t_order_2 (order_id);
@@ -90,6 +112,7 @@ CREATE TABLE primary_ds_1.t_order_8 (order_id INT NOT NULL, user_id INT NOT NULL
 CREATE TABLE primary_ds_1.t_order_item_8 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
 CREATE TABLE primary_ds_1.t_order_9 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
 CREATE TABLE primary_ds_1.t_order_item_9 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE primary_ds_1.t_broadcast_table (id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (id));
 CREATE INDEX order_index_t_order_0 ON primary_ds_1.t_order_0 (order_id);
 CREATE INDEX order_index_t_order_1 ON primary_ds_1.t_order_1 (order_id);
 CREATE INDEX order_index_t_order_2 ON primary_ds_1.t_order_2 (order_id);
@@ -121,6 +144,7 @@ CREATE TABLE primary_ds_2.t_order_8 (order_id INT NOT NULL, user_id INT NOT NULL
 CREATE TABLE primary_ds_2.t_order_item_8 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
 CREATE TABLE primary_ds_2.t_order_9 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
 CREATE TABLE primary_ds_2.t_order_item_9 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE primary_ds_2.t_broadcast_table (id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (id));
 CREATE INDEX order_index_t_order_0 ON primary_ds_2.t_order_0 (order_id);
 CREATE INDEX order_index_t_order_1 ON primary_ds_2.t_order_1 (order_id);
 CREATE INDEX order_index_t_order_2 ON primary_ds_2.t_order_2 (order_id);
@@ -152,6 +176,7 @@ CREATE TABLE primary_ds_3.t_order_8 (order_id INT NOT NULL, user_id INT NOT NULL
 CREATE TABLE primary_ds_3.t_order_item_8 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
 CREATE TABLE primary_ds_3.t_order_9 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
 CREATE TABLE primary_ds_3.t_order_item_9 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE primary_ds_3.t_broadcast_table (id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (id));
 CREATE INDEX order_index_t_order_0 ON primary_ds_3.t_order_0 (order_id);
 CREATE INDEX order_index_t_order_1 ON primary_ds_3.t_order_1 (order_id);
 CREATE INDEX order_index_t_order_2 ON primary_ds_3.t_order_2 (order_id);
@@ -183,6 +208,7 @@ CREATE TABLE primary_ds_4.t_order_8 (order_id INT NOT NULL, user_id INT NOT NULL
 CREATE TABLE primary_ds_4.t_order_item_8 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
 CREATE TABLE primary_ds_4.t_order_9 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
 CREATE TABLE primary_ds_4.t_order_item_9 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE primary_ds_4.t_broadcast_table (id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (id));
 CREATE INDEX order_index_t_order_0 ON primary_ds_4.t_order_0 (order_id);
 CREATE INDEX order_index_t_order_1 ON primary_ds_4.t_order_1 (order_id);
 CREATE INDEX order_index_t_order_2 ON primary_ds_4.t_order_2 (order_id);
@@ -214,6 +240,7 @@ CREATE TABLE primary_ds_5.t_order_8 (order_id INT NOT NULL, user_id INT NOT NULL
 CREATE TABLE primary_ds_5.t_order_item_8 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
 CREATE TABLE primary_ds_5.t_order_9 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
 CREATE TABLE primary_ds_5.t_order_item_9 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE primary_ds_5.t_broadcast_table (id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (id));
 CREATE INDEX order_index_t_order_0 ON primary_ds_5.t_order_0 (order_id);
 CREATE INDEX order_index_t_order_1 ON primary_ds_5.t_order_1 (order_id);
 CREATE INDEX order_index_t_order_2 ON primary_ds_5.t_order_2 (order_id);
@@ -245,6 +272,7 @@ CREATE TABLE primary_ds_6.t_order_8 (order_id INT NOT NULL, user_id INT NOT NULL
 CREATE TABLE primary_ds_6.t_order_item_8 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
 CREATE TABLE primary_ds_6.t_order_9 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
 CREATE TABLE primary_ds_6.t_order_item_9 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE primary_ds_6.t_broadcast_table (id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (id));
 CREATE INDEX order_index_t_order_0 ON primary_ds_6.t_order_0 (order_id);
 CREATE INDEX order_index_t_order_1 ON primary_ds_6.t_order_1 (order_id);
 CREATE INDEX order_index_t_order_2 ON primary_ds_6.t_order_2 (order_id);
@@ -276,6 +304,7 @@ CREATE TABLE primary_ds_7.t_order_8 (order_id INT NOT NULL, user_id INT NOT NULL
 CREATE TABLE primary_ds_7.t_order_item_8 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
 CREATE TABLE primary_ds_7.t_order_9 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
 CREATE TABLE primary_ds_7.t_order_item_9 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE primary_ds_7.t_broadcast_table (id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (id));
 CREATE INDEX order_index_t_order_0 ON primary_ds_7.t_order_0 (order_id);
 CREATE INDEX order_index_t_order_1 ON primary_ds_7.t_order_1 (order_id);
 CREATE INDEX order_index_t_order_2 ON primary_ds_7.t_order_2 (order_id);
@@ -307,6 +336,7 @@ CREATE TABLE primary_ds_8.t_order_8 (order_id INT NOT NULL, user_id INT NOT NULL
 CREATE TABLE primary_ds_8.t_order_item_8 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
 CREATE TABLE primary_ds_8.t_order_9 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
 CREATE TABLE primary_ds_8.t_order_item_9 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE primary_ds_8.t_broadcast_table (id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (id));
 CREATE INDEX order_index_t_order_0 ON primary_ds_8.t_order_0 (order_id);
 CREATE INDEX order_index_t_order_1 ON primary_ds_8.t_order_1 (order_id);
 CREATE INDEX order_index_t_order_2 ON primary_ds_8.t_order_2 (order_id);
@@ -338,6 +368,7 @@ CREATE TABLE primary_ds_9.t_order_8 (order_id INT NOT NULL, user_id INT NOT NULL
 CREATE TABLE primary_ds_9.t_order_item_8 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
 CREATE TABLE primary_ds_9.t_order_9 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
 CREATE TABLE primary_ds_9.t_order_item_9 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE primary_ds_9.t_broadcast_table (id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (id));
 CREATE INDEX order_index_t_order_0 ON primary_ds_9.t_order_0 (order_id);
 CREATE INDEX order_index_t_order_1 ON primary_ds_9.t_order_1 (order_id);
 CREATE INDEX order_index_t_order_2 ON primary_ds_9.t_order_2 (order_id);
@@ -369,6 +400,7 @@ CREATE TABLE replica_ds_0.t_order_8 (order_id INT NOT NULL, user_id INT NOT NULL
 CREATE TABLE replica_ds_0.t_order_item_8 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
 CREATE TABLE replica_ds_0.t_order_9 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
 CREATE TABLE replica_ds_0.t_order_item_9 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE replica_ds_0.t_broadcast_table (id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (id));
 CREATE INDEX order_index_t_order_0 ON replica_ds_0.t_order_0 (order_id);
 CREATE INDEX order_index_t_order_1 ON replica_ds_0.t_order_1 (order_id);
 CREATE INDEX order_index_t_order_2 ON replica_ds_0.t_order_2 (order_id);
@@ -400,6 +432,7 @@ CREATE TABLE replica_ds_1.t_order_8 (order_id INT NOT NULL, user_id INT NOT NULL
 CREATE TABLE replica_ds_1.t_order_item_8 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
 CREATE TABLE replica_ds_1.t_order_9 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
 CREATE TABLE replica_ds_1.t_order_item_9 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE replica_ds_1.t_broadcast_table (id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (id));
 CREATE INDEX order_index_t_order_0 ON replica_ds_1.t_order_0 (order_id);
 CREATE INDEX order_index_t_order_1 ON replica_ds_1.t_order_1 (order_id);
 CREATE INDEX order_index_t_order_2 ON replica_ds_1.t_order_2 (order_id);
@@ -431,6 +464,7 @@ CREATE TABLE replica_ds_2.t_order_8 (order_id INT NOT NULL, user_id INT NOT NULL
 CREATE TABLE replica_ds_2.t_order_item_8 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
 CREATE TABLE replica_ds_2.t_order_9 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
 CREATE TABLE replica_ds_2.t_order_item_9 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE replica_ds_2.t_broadcast_table (id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (id));
 CREATE INDEX order_index_t_order_0 ON replica_ds_2.t_order_0 (order_id);
 CREATE INDEX order_index_t_order_1 ON replica_ds_2.t_order_1 (order_id);
 CREATE INDEX order_index_t_order_2 ON replica_ds_2.t_order_2 (order_id);
@@ -462,6 +496,7 @@ CREATE TABLE replica_ds_3.t_order_8 (order_id INT NOT NULL, user_id INT NOT NULL
 CREATE TABLE replica_ds_3.t_order_item_8 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
 CREATE TABLE replica_ds_3.t_order_9 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
 CREATE TABLE replica_ds_3.t_order_item_9 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE replica_ds_3.t_broadcast_table (id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (id));
 CREATE INDEX order_index_t_order_0 ON replica_ds_3.t_order_0 (order_id);
 CREATE INDEX order_index_t_order_1 ON replica_ds_3.t_order_1 (order_id);
 CREATE INDEX order_index_t_order_2 ON replica_ds_3.t_order_2 (order_id);
@@ -493,6 +528,7 @@ CREATE TABLE replica_ds_4.t_order_8 (order_id INT NOT NULL, user_id INT NOT NULL
 CREATE TABLE replica_ds_4.t_order_item_8 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
 CREATE TABLE replica_ds_4.t_order_9 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
 CREATE TABLE replica_ds_4.t_order_item_9 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE replica_ds_4.t_broadcast_table (id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (id));
 CREATE INDEX order_index_t_order_0 ON replica_ds_4.t_order_0 (order_id);
 CREATE INDEX order_index_t_order_1 ON replica_ds_4.t_order_1 (order_id);
 CREATE INDEX order_index_t_order_2 ON replica_ds_4.t_order_2 (order_id);
@@ -524,6 +560,7 @@ CREATE TABLE replica_ds_5.t_order_8 (order_id INT NOT NULL, user_id INT NOT NULL
 CREATE TABLE replica_ds_5.t_order_item_8 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
 CREATE TABLE replica_ds_5.t_order_9 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
 CREATE TABLE replica_ds_5.t_order_item_9 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE replica_ds_5.t_broadcast_table (id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (id));
 CREATE INDEX order_index_t_order_0 ON replica_ds_5.t_order_0 (order_id);
 CREATE INDEX order_index_t_order_1 ON replica_ds_5.t_order_1 (order_id);
 CREATE INDEX order_index_t_order_2 ON replica_ds_5.t_order_2 (order_id);
@@ -555,6 +592,7 @@ CREATE TABLE replica_ds_6.t_order_8 (order_id INT NOT NULL, user_id INT NOT NULL
 CREATE TABLE replica_ds_6.t_order_item_8 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
 CREATE TABLE replica_ds_6.t_order_9 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
 CREATE TABLE replica_ds_6.t_order_item_9 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE replica_ds_6.t_broadcast_table (id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (id));
 CREATE INDEX order_index_t_order_0 ON replica_ds_6.t_order_0 (order_id);
 CREATE INDEX order_index_t_order_1 ON replica_ds_6.t_order_1 (order_id);
 CREATE INDEX order_index_t_order_2 ON replica_ds_6.t_order_2 (order_id);
@@ -586,6 +624,7 @@ CREATE TABLE replica_ds_7.t_order_8 (order_id INT NOT NULL, user_id INT NOT NULL
 CREATE TABLE replica_ds_7.t_order_item_8 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
 CREATE TABLE replica_ds_7.t_order_9 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
 CREATE TABLE replica_ds_7.t_order_item_9 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE replica_ds_7.t_broadcast_table (id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (id));
 CREATE INDEX order_index_t_order_0 ON replica_ds_7.t_order_0 (order_id);
 CREATE INDEX order_index_t_order_1 ON replica_ds_7.t_order_1 (order_id);
 CREATE INDEX order_index_t_order_2 ON replica_ds_7.t_order_2 (order_id);
@@ -617,6 +656,7 @@ CREATE TABLE replica_ds_8.t_order_8 (order_id INT NOT NULL, user_id INT NOT NULL
 CREATE TABLE replica_ds_8.t_order_item_8 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
 CREATE TABLE replica_ds_8.t_order_9 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
 CREATE TABLE replica_ds_8.t_order_item_9 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE replica_ds_8.t_broadcast_table (id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (id));
 CREATE INDEX order_index_t_order_0 ON replica_ds_8.t_order_0 (order_id);
 CREATE INDEX order_index_t_order_1 ON replica_ds_8.t_order_1 (order_id);
 CREATE INDEX order_index_t_order_2 ON replica_ds_8.t_order_2 (order_id);
@@ -648,6 +688,7 @@ CREATE TABLE replica_ds_9.t_order_8 (order_id INT NOT NULL, user_id INT NOT NULL
 CREATE TABLE replica_ds_9.t_order_item_8 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
 CREATE TABLE replica_ds_9.t_order_9 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
 CREATE TABLE replica_ds_9.t_order_item_9 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE replica_ds_9.t_broadcast_table (id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (id));
 CREATE INDEX order_index_t_order_0 ON replica_ds_9.t_order_0 (order_id);
 CREATE INDEX order_index_t_order_1 ON replica_ds_9.t_order_1 (order_id);
 CREATE INDEX order_index_t_order_2 ON replica_ds_9.t_order_2 (order_id);
diff --git a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/env/dbtbl_with_replica_query/init.sql b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/env/dbtbl_with_replica_query/postgresql/init.sql
similarity index 92%
copy from shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/env/dbtbl_with_replica_query/init.sql
copy to shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/env/dbtbl_with_replica_query/postgresql/init.sql
index 80ae5c6..29d9e5c 100644
--- a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/env/dbtbl_with_replica_query/init.sql
+++ b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/env/dbtbl_with_replica_query/postgresql/init.sql
@@ -1,23 +1,65 @@
-#
-# Licensed to the Apache Software Foundation (ASF) under one or more
-# contributor license agreements.  See the NOTICE file distributed with
-# this work for additional information regarding copyright ownership.
-# The ASF licenses this file to You under the Apache License, Version 2.0
-# (the "License"); you may not use this file except in compliance with
-# the License.  You may obtain a copy of the License at
-#
-#     http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
+--
+-- Licensed to the Apache Software Foundation (ASF) under one or more
+-- contributor license agreements.  See the NOTICE file distributed with
+-- this work for additional information regarding copyright ownership.
+-- The ASF licenses this file to You under the Apache License, Version 2.0
+-- (the "License"); you may not use this file except in compliance with
+-- the License.  You may obtain a copy of the License at
+--
+--     http://www.apache.org/licenses/LICENSE-2.0
+--
+-- Unless required by applicable law or agreed to in writing, software
+-- distributed under the License is distributed on an "AS IS" BASIS,
+-- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+-- See the License for the specific language governing permissions and
+-- limitations under the License.
+--
 
 CREATE USER 'root'@'%' IDENTIFIED BY '';
 GRANT All privileges ON *.* TO 'root'@'%';
 
+SELECT pg_terminate_backend (pg_stat_activity.pid) FROM pg_stat_activity WHERE pg_stat_activity.datname = 'primary_ds_0';
+SELECT pg_terminate_backend (pg_stat_activity.pid) FROM pg_stat_activity WHERE pg_stat_activity.datname = 'primary_ds_1';
+SELECT pg_terminate_backend (pg_stat_activity.pid) FROM pg_stat_activity WHERE pg_stat_activity.datname = 'primary_ds_2';
+SELECT pg_terminate_backend (pg_stat_activity.pid) FROM pg_stat_activity WHERE pg_stat_activity.datname = 'primary_ds_3';
+SELECT pg_terminate_backend (pg_stat_activity.pid) FROM pg_stat_activity WHERE pg_stat_activity.datname = 'primary_ds_4';
+SELECT pg_terminate_backend (pg_stat_activity.pid) FROM pg_stat_activity WHERE pg_stat_activity.datname = 'primary_ds_5';
+SELECT pg_terminate_backend (pg_stat_activity.pid) FROM pg_stat_activity WHERE pg_stat_activity.datname = 'primary_ds_6';
+SELECT pg_terminate_backend (pg_stat_activity.pid) FROM pg_stat_activity WHERE pg_stat_activity.datname = 'primary_ds_7';
+SELECT pg_terminate_backend (pg_stat_activity.pid) FROM pg_stat_activity WHERE pg_stat_activity.datname = 'primary_ds_8';
+SELECT pg_terminate_backend (pg_stat_activity.pid) FROM pg_stat_activity WHERE pg_stat_activity.datname = 'primary_ds_9';
+SELECT pg_terminate_backend (pg_stat_activity.pid) FROM pg_stat_activity WHERE pg_stat_activity.datname = 'replica_ds_0';
+SELECT pg_terminate_backend (pg_stat_activity.pid) FROM pg_stat_activity WHERE pg_stat_activity.datname = 'replica_ds_1';
+SELECT pg_terminate_backend (pg_stat_activity.pid) FROM pg_stat_activity WHERE pg_stat_activity.datname = 'replica_ds_2';
+SELECT pg_terminate_backend (pg_stat_activity.pid) FROM pg_stat_activity WHERE pg_stat_activity.datname = 'replica_ds_3';
+SELECT pg_terminate_backend (pg_stat_activity.pid) FROM pg_stat_activity WHERE pg_stat_activity.datname = 'replica_ds_4';
+SELECT pg_terminate_backend (pg_stat_activity.pid) FROM pg_stat_activity WHERE pg_stat_activity.datname = 'replica_ds_5';
+SELECT pg_terminate_backend (pg_stat_activity.pid) FROM pg_stat_activity WHERE pg_stat_activity.datname = 'replica_ds_6';
+SELECT pg_terminate_backend (pg_stat_activity.pid) FROM pg_stat_activity WHERE pg_stat_activity.datname = 'replica_ds_7';
+SELECT pg_terminate_backend (pg_stat_activity.pid) FROM pg_stat_activity WHERE pg_stat_activity.datname = 'replica_ds_8';
+SELECT pg_terminate_backend (pg_stat_activity.pid) FROM pg_stat_activity WHERE pg_stat_activity.datname = 'replica_ds_9';
+
+DROP DATABASE IF EXISTS primary_ds_0;
+DROP DATABASE IF EXISTS primary_ds_1;
+DROP DATABASE IF EXISTS primary_ds_2;
+DROP DATABASE IF EXISTS primary_ds_3;
+DROP DATABASE IF EXISTS primary_ds_4;
+DROP DATABASE IF EXISTS primary_ds_5;
+DROP DATABASE IF EXISTS primary_ds_6;
+DROP DATABASE IF EXISTS primary_ds_7;
+DROP DATABASE IF EXISTS primary_ds_8;
+DROP DATABASE IF EXISTS primary_ds_9;
+DROP DATABASE IF EXISTS replica_ds_0;
+DROP DATABASE IF EXISTS replica_ds_1;
+DROP DATABASE IF EXISTS replica_ds_2;
+DROP DATABASE IF EXISTS replica_ds_3;
+DROP DATABASE IF EXISTS replica_ds_4;
+DROP DATABASE IF EXISTS replica_ds_5;
+DROP DATABASE IF EXISTS replica_ds_6;
+DROP DATABASE IF EXISTS replica_ds_7;
+DROP DATABASE IF EXISTS replica_ds_8;
+DROP DATABASE IF EXISTS replica_ds_9;
+
 CREATE DATABASE primary_ds_0;
 CREATE DATABASE primary_ds_1;
 CREATE DATABASE primary_ds_2;
@@ -59,6 +101,7 @@ CREATE TABLE primary_ds_0.t_order_8 (order_id INT NOT NULL, user_id INT NOT NULL
 CREATE TABLE primary_ds_0.t_order_item_8 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
 CREATE TABLE primary_ds_0.t_order_9 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
 CREATE TABLE primary_ds_0.t_order_item_9 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE primary_ds_0.t_broadcast_table (id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (id));
 CREATE INDEX order_index_t_order_0 ON primary_ds_0.t_order_0 (order_id);
 CREATE INDEX order_index_t_order_1 ON primary_ds_0.t_order_1 (order_id);
 CREATE INDEX order_index_t_order_2 ON primary_ds_0.t_order_2 (order_id);
@@ -90,6 +133,7 @@ CREATE TABLE primary_ds_1.t_order_8 (order_id INT NOT NULL, user_id INT NOT NULL
 CREATE TABLE primary_ds_1.t_order_item_8 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
 CREATE TABLE primary_ds_1.t_order_9 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
 CREATE TABLE primary_ds_1.t_order_item_9 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE primary_ds_1.t_broadcast_table (id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (id));
 CREATE INDEX order_index_t_order_0 ON primary_ds_1.t_order_0 (order_id);
 CREATE INDEX order_index_t_order_1 ON primary_ds_1.t_order_1 (order_id);
 CREATE INDEX order_index_t_order_2 ON primary_ds_1.t_order_2 (order_id);
@@ -121,6 +165,7 @@ CREATE TABLE primary_ds_2.t_order_8 (order_id INT NOT NULL, user_id INT NOT NULL
 CREATE TABLE primary_ds_2.t_order_item_8 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
 CREATE TABLE primary_ds_2.t_order_9 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
 CREATE TABLE primary_ds_2.t_order_item_9 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE primary_ds_2.t_broadcast_table (id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (id));
 CREATE INDEX order_index_t_order_0 ON primary_ds_2.t_order_0 (order_id);
 CREATE INDEX order_index_t_order_1 ON primary_ds_2.t_order_1 (order_id);
 CREATE INDEX order_index_t_order_2 ON primary_ds_2.t_order_2 (order_id);
@@ -152,6 +197,7 @@ CREATE TABLE primary_ds_3.t_order_8 (order_id INT NOT NULL, user_id INT NOT NULL
 CREATE TABLE primary_ds_3.t_order_item_8 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
 CREATE TABLE primary_ds_3.t_order_9 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
 CREATE TABLE primary_ds_3.t_order_item_9 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE primary_ds_3.t_broadcast_table (id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (id));
 CREATE INDEX order_index_t_order_0 ON primary_ds_3.t_order_0 (order_id);
 CREATE INDEX order_index_t_order_1 ON primary_ds_3.t_order_1 (order_id);
 CREATE INDEX order_index_t_order_2 ON primary_ds_3.t_order_2 (order_id);
@@ -183,6 +229,7 @@ CREATE TABLE primary_ds_4.t_order_8 (order_id INT NOT NULL, user_id INT NOT NULL
 CREATE TABLE primary_ds_4.t_order_item_8 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
 CREATE TABLE primary_ds_4.t_order_9 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
 CREATE TABLE primary_ds_4.t_order_item_9 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE primary_ds_4.t_broadcast_table (id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (id));
 CREATE INDEX order_index_t_order_0 ON primary_ds_4.t_order_0 (order_id);
 CREATE INDEX order_index_t_order_1 ON primary_ds_4.t_order_1 (order_id);
 CREATE INDEX order_index_t_order_2 ON primary_ds_4.t_order_2 (order_id);
@@ -214,6 +261,7 @@ CREATE TABLE primary_ds_5.t_order_8 (order_id INT NOT NULL, user_id INT NOT NULL
 CREATE TABLE primary_ds_5.t_order_item_8 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
 CREATE TABLE primary_ds_5.t_order_9 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
 CREATE TABLE primary_ds_5.t_order_item_9 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE primary_ds_5.t_broadcast_table (id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (id));
 CREATE INDEX order_index_t_order_0 ON primary_ds_5.t_order_0 (order_id);
 CREATE INDEX order_index_t_order_1 ON primary_ds_5.t_order_1 (order_id);
 CREATE INDEX order_index_t_order_2 ON primary_ds_5.t_order_2 (order_id);
@@ -245,6 +293,7 @@ CREATE TABLE primary_ds_6.t_order_8 (order_id INT NOT NULL, user_id INT NOT NULL
 CREATE TABLE primary_ds_6.t_order_item_8 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
 CREATE TABLE primary_ds_6.t_order_9 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
 CREATE TABLE primary_ds_6.t_order_item_9 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE primary_ds_6.t_broadcast_table (id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (id));
 CREATE INDEX order_index_t_order_0 ON primary_ds_6.t_order_0 (order_id);
 CREATE INDEX order_index_t_order_1 ON primary_ds_6.t_order_1 (order_id);
 CREATE INDEX order_index_t_order_2 ON primary_ds_6.t_order_2 (order_id);
@@ -276,6 +325,7 @@ CREATE TABLE primary_ds_7.t_order_8 (order_id INT NOT NULL, user_id INT NOT NULL
 CREATE TABLE primary_ds_7.t_order_item_8 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
 CREATE TABLE primary_ds_7.t_order_9 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
 CREATE TABLE primary_ds_7.t_order_item_9 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE primary_ds_7.t_broadcast_table (id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (id));
 CREATE INDEX order_index_t_order_0 ON primary_ds_7.t_order_0 (order_id);
 CREATE INDEX order_index_t_order_1 ON primary_ds_7.t_order_1 (order_id);
 CREATE INDEX order_index_t_order_2 ON primary_ds_7.t_order_2 (order_id);
@@ -307,6 +357,7 @@ CREATE TABLE primary_ds_8.t_order_8 (order_id INT NOT NULL, user_id INT NOT NULL
 CREATE TABLE primary_ds_8.t_order_item_8 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
 CREATE TABLE primary_ds_8.t_order_9 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
 CREATE TABLE primary_ds_8.t_order_item_9 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE primary_ds_8.t_broadcast_table (id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (id));
 CREATE INDEX order_index_t_order_0 ON primary_ds_8.t_order_0 (order_id);
 CREATE INDEX order_index_t_order_1 ON primary_ds_8.t_order_1 (order_id);
 CREATE INDEX order_index_t_order_2 ON primary_ds_8.t_order_2 (order_id);
@@ -338,6 +389,7 @@ CREATE TABLE primary_ds_9.t_order_8 (order_id INT NOT NULL, user_id INT NOT NULL
 CREATE TABLE primary_ds_9.t_order_item_8 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
 CREATE TABLE primary_ds_9.t_order_9 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
 CREATE TABLE primary_ds_9.t_order_item_9 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE primary_ds_9.t_broadcast_table (id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (id));
 CREATE INDEX order_index_t_order_0 ON primary_ds_9.t_order_0 (order_id);
 CREATE INDEX order_index_t_order_1 ON primary_ds_9.t_order_1 (order_id);
 CREATE INDEX order_index_t_order_2 ON primary_ds_9.t_order_2 (order_id);
@@ -369,6 +421,7 @@ CREATE TABLE replica_ds_0.t_order_8 (order_id INT NOT NULL, user_id INT NOT NULL
 CREATE TABLE replica_ds_0.t_order_item_8 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
 CREATE TABLE replica_ds_0.t_order_9 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
 CREATE TABLE replica_ds_0.t_order_item_9 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE replica_ds_0.t_broadcast_table (id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (id));
 CREATE INDEX order_index_t_order_0 ON replica_ds_0.t_order_0 (order_id);
 CREATE INDEX order_index_t_order_1 ON replica_ds_0.t_order_1 (order_id);
 CREATE INDEX order_index_t_order_2 ON replica_ds_0.t_order_2 (order_id);
@@ -400,6 +453,7 @@ CREATE TABLE replica_ds_1.t_order_8 (order_id INT NOT NULL, user_id INT NOT NULL
 CREATE TABLE replica_ds_1.t_order_item_8 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
 CREATE TABLE replica_ds_1.t_order_9 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
 CREATE TABLE replica_ds_1.t_order_item_9 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE replica_ds_1.t_broadcast_table (id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (id));
 CREATE INDEX order_index_t_order_0 ON replica_ds_1.t_order_0 (order_id);
 CREATE INDEX order_index_t_order_1 ON replica_ds_1.t_order_1 (order_id);
 CREATE INDEX order_index_t_order_2 ON replica_ds_1.t_order_2 (order_id);
@@ -431,6 +485,7 @@ CREATE TABLE replica_ds_2.t_order_8 (order_id INT NOT NULL, user_id INT NOT NULL
 CREATE TABLE replica_ds_2.t_order_item_8 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
 CREATE TABLE replica_ds_2.t_order_9 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
 CREATE TABLE replica_ds_2.t_order_item_9 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE replica_ds_2.t_broadcast_table (id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (id));
 CREATE INDEX order_index_t_order_0 ON replica_ds_2.t_order_0 (order_id);
 CREATE INDEX order_index_t_order_1 ON replica_ds_2.t_order_1 (order_id);
 CREATE INDEX order_index_t_order_2 ON replica_ds_2.t_order_2 (order_id);
@@ -462,6 +517,7 @@ CREATE TABLE replica_ds_3.t_order_8 (order_id INT NOT NULL, user_id INT NOT NULL
 CREATE TABLE replica_ds_3.t_order_item_8 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
 CREATE TABLE replica_ds_3.t_order_9 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
 CREATE TABLE replica_ds_3.t_order_item_9 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE replica_ds_3.t_broadcast_table (id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (id));
 CREATE INDEX order_index_t_order_0 ON replica_ds_3.t_order_0 (order_id);
 CREATE INDEX order_index_t_order_1 ON replica_ds_3.t_order_1 (order_id);
 CREATE INDEX order_index_t_order_2 ON replica_ds_3.t_order_2 (order_id);
@@ -493,6 +549,7 @@ CREATE TABLE replica_ds_4.t_order_8 (order_id INT NOT NULL, user_id INT NOT NULL
 CREATE TABLE replica_ds_4.t_order_item_8 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
 CREATE TABLE replica_ds_4.t_order_9 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
 CREATE TABLE replica_ds_4.t_order_item_9 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE replica_ds_4.t_broadcast_table (id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (id));
 CREATE INDEX order_index_t_order_0 ON replica_ds_4.t_order_0 (order_id);
 CREATE INDEX order_index_t_order_1 ON replica_ds_4.t_order_1 (order_id);
 CREATE INDEX order_index_t_order_2 ON replica_ds_4.t_order_2 (order_id);
@@ -524,6 +581,7 @@ CREATE TABLE replica_ds_5.t_order_8 (order_id INT NOT NULL, user_id INT NOT NULL
 CREATE TABLE replica_ds_5.t_order_item_8 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
 CREATE TABLE replica_ds_5.t_order_9 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
 CREATE TABLE replica_ds_5.t_order_item_9 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE replica_ds_5.t_broadcast_table (id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (id));
 CREATE INDEX order_index_t_order_0 ON replica_ds_5.t_order_0 (order_id);
 CREATE INDEX order_index_t_order_1 ON replica_ds_5.t_order_1 (order_id);
 CREATE INDEX order_index_t_order_2 ON replica_ds_5.t_order_2 (order_id);
@@ -555,6 +613,7 @@ CREATE TABLE replica_ds_6.t_order_8 (order_id INT NOT NULL, user_id INT NOT NULL
 CREATE TABLE replica_ds_6.t_order_item_8 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
 CREATE TABLE replica_ds_6.t_order_9 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
 CREATE TABLE replica_ds_6.t_order_item_9 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE replica_ds_6.t_broadcast_table (id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (id));
 CREATE INDEX order_index_t_order_0 ON replica_ds_6.t_order_0 (order_id);
 CREATE INDEX order_index_t_order_1 ON replica_ds_6.t_order_1 (order_id);
 CREATE INDEX order_index_t_order_2 ON replica_ds_6.t_order_2 (order_id);
@@ -586,6 +645,7 @@ CREATE TABLE replica_ds_7.t_order_8 (order_id INT NOT NULL, user_id INT NOT NULL
 CREATE TABLE replica_ds_7.t_order_item_8 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
 CREATE TABLE replica_ds_7.t_order_9 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
 CREATE TABLE replica_ds_7.t_order_item_9 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE replica_ds_7.t_broadcast_table (id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (id));
 CREATE INDEX order_index_t_order_0 ON replica_ds_7.t_order_0 (order_id);
 CREATE INDEX order_index_t_order_1 ON replica_ds_7.t_order_1 (order_id);
 CREATE INDEX order_index_t_order_2 ON replica_ds_7.t_order_2 (order_id);
@@ -617,6 +677,7 @@ CREATE TABLE replica_ds_8.t_order_8 (order_id INT NOT NULL, user_id INT NOT NULL
 CREATE TABLE replica_ds_8.t_order_item_8 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
 CREATE TABLE replica_ds_8.t_order_9 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
 CREATE TABLE replica_ds_8.t_order_item_9 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE replica_ds_8.t_broadcast_table (id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (id));
 CREATE INDEX order_index_t_order_0 ON replica_ds_8.t_order_0 (order_id);
 CREATE INDEX order_index_t_order_1 ON replica_ds_8.t_order_1 (order_id);
 CREATE INDEX order_index_t_order_2 ON replica_ds_8.t_order_2 (order_id);
@@ -648,6 +709,7 @@ CREATE TABLE replica_ds_9.t_order_8 (order_id INT NOT NULL, user_id INT NOT NULL
 CREATE TABLE replica_ds_9.t_order_item_8 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
 CREATE TABLE replica_ds_9.t_order_9 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
 CREATE TABLE replica_ds_9.t_order_item_9 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE replica_ds_9.t_broadcast_table (id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (id));
 CREATE INDEX order_index_t_order_0 ON replica_ds_9.t_order_0 (order_id);
 CREATE INDEX order_index_t_order_1 ON replica_ds_9.t_order_1 (order_id);
 CREATE INDEX order_index_t_order_2 ON replica_ds_9.t_order_2 (order_id);
diff --git a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/env/dbtbl_with_replica_query/init.sql b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/env/dbtbl_with_replica_query/sqlserver/init.sql
similarity index 95%
rename from shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/env/dbtbl_with_replica_query/init.sql
rename to shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/env/dbtbl_with_replica_query/sqlserver/init.sql
index 80ae5c6..48e2dd0 100644
--- a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/env/dbtbl_with_replica_query/init.sql
+++ b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/env/dbtbl_with_replica_query/sqlserver/init.sql
@@ -1,23 +1,44 @@
-#
-# Licensed to the Apache Software Foundation (ASF) under one or more
-# contributor license agreements.  See the NOTICE file distributed with
-# this work for additional information regarding copyright ownership.
-# The ASF licenses this file to You under the Apache License, Version 2.0
-# (the "License"); you may not use this file except in compliance with
-# the License.  You may obtain a copy of the License at
-#
-#     http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
+--
+-- Licensed to the Apache Software Foundation (ASF) under one or more
+-- contributor license agreements.  See the NOTICE file distributed with
+-- this work for additional information regarding copyright ownership.
+-- The ASF licenses this file to You under the Apache License, Version 2.0
+-- (the "License"); you may not use this file except in compliance with
+-- the License.  You may obtain a copy of the License at
+--
+--     http://www.apache.org/licenses/LICENSE-2.0
+--
+-- Unless required by applicable law or agreed to in writing, software
+-- distributed under the License is distributed on an "AS IS" BASIS,
+-- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+-- See the License for the specific language governing permissions and
+-- limitations under the License.
+--
 
 CREATE USER 'root'@'%' IDENTIFIED BY '';
 GRANT All privileges ON *.* TO 'root'@'%';
 
+DROP DATABASE IF EXISTS primary_ds_0;
+DROP DATABASE IF EXISTS primary_ds_1;
+DROP DATABASE IF EXISTS primary_ds_2;
+DROP DATABASE IF EXISTS primary_ds_3;
+DROP DATABASE IF EXISTS primary_ds_4;
+DROP DATABASE IF EXISTS primary_ds_5;
+DROP DATABASE IF EXISTS primary_ds_6;
+DROP DATABASE IF EXISTS primary_ds_7;
+DROP DATABASE IF EXISTS primary_ds_8;
+DROP DATABASE IF EXISTS primary_ds_9;
+DROP DATABASE IF EXISTS replica_ds_0;
+DROP DATABASE IF EXISTS replica_ds_1;
+DROP DATABASE IF EXISTS replica_ds_2;
+DROP DATABASE IF EXISTS replica_ds_3;
+DROP DATABASE IF EXISTS replica_ds_4;
+DROP DATABASE IF EXISTS replica_ds_5;
+DROP DATABASE IF EXISTS replica_ds_6;
+DROP DATABASE IF EXISTS replica_ds_7;
+DROP DATABASE IF EXISTS replica_ds_8;
+DROP DATABASE IF EXISTS replica_ds_9;
+
 CREATE DATABASE primary_ds_0;
 CREATE DATABASE primary_ds_1;
 CREATE DATABASE primary_ds_2;
@@ -59,6 +80,7 @@ CREATE TABLE primary_ds_0.t_order_8 (order_id INT NOT NULL, user_id INT NOT NULL
 CREATE TABLE primary_ds_0.t_order_item_8 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
 CREATE TABLE primary_ds_0.t_order_9 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
 CREATE TABLE primary_ds_0.t_order_item_9 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE primary_ds_0.t_broadcast_table (id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (id));
 CREATE INDEX order_index_t_order_0 ON primary_ds_0.t_order_0 (order_id);
 CREATE INDEX order_index_t_order_1 ON primary_ds_0.t_order_1 (order_id);
 CREATE INDEX order_index_t_order_2 ON primary_ds_0.t_order_2 (order_id);
@@ -90,6 +112,7 @@ CREATE TABLE primary_ds_1.t_order_8 (order_id INT NOT NULL, user_id INT NOT NULL
 CREATE TABLE primary_ds_1.t_order_item_8 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
 CREATE TABLE primary_ds_1.t_order_9 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
 CREATE TABLE primary_ds_1.t_order_item_9 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE primary_ds_1.t_broadcast_table (id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (id));
 CREATE INDEX order_index_t_order_0 ON primary_ds_1.t_order_0 (order_id);
 CREATE INDEX order_index_t_order_1 ON primary_ds_1.t_order_1 (order_id);
 CREATE INDEX order_index_t_order_2 ON primary_ds_1.t_order_2 (order_id);
@@ -121,6 +144,7 @@ CREATE TABLE primary_ds_2.t_order_8 (order_id INT NOT NULL, user_id INT NOT NULL
 CREATE TABLE primary_ds_2.t_order_item_8 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
 CREATE TABLE primary_ds_2.t_order_9 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
 CREATE TABLE primary_ds_2.t_order_item_9 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE primary_ds_2.t_broadcast_table (id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (id));
 CREATE INDEX order_index_t_order_0 ON primary_ds_2.t_order_0 (order_id);
 CREATE INDEX order_index_t_order_1 ON primary_ds_2.t_order_1 (order_id);
 CREATE INDEX order_index_t_order_2 ON primary_ds_2.t_order_2 (order_id);
@@ -152,6 +176,7 @@ CREATE TABLE primary_ds_3.t_order_8 (order_id INT NOT NULL, user_id INT NOT NULL
 CREATE TABLE primary_ds_3.t_order_item_8 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
 CREATE TABLE primary_ds_3.t_order_9 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
 CREATE TABLE primary_ds_3.t_order_item_9 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE primary_ds_3.t_broadcast_table (id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (id));
 CREATE INDEX order_index_t_order_0 ON primary_ds_3.t_order_0 (order_id);
 CREATE INDEX order_index_t_order_1 ON primary_ds_3.t_order_1 (order_id);
 CREATE INDEX order_index_t_order_2 ON primary_ds_3.t_order_2 (order_id);
@@ -183,6 +208,7 @@ CREATE TABLE primary_ds_4.t_order_8 (order_id INT NOT NULL, user_id INT NOT NULL
 CREATE TABLE primary_ds_4.t_order_item_8 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
 CREATE TABLE primary_ds_4.t_order_9 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
 CREATE TABLE primary_ds_4.t_order_item_9 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE primary_ds_4.t_broadcast_table (id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (id));
 CREATE INDEX order_index_t_order_0 ON primary_ds_4.t_order_0 (order_id);
 CREATE INDEX order_index_t_order_1 ON primary_ds_4.t_order_1 (order_id);
 CREATE INDEX order_index_t_order_2 ON primary_ds_4.t_order_2 (order_id);
@@ -214,6 +240,7 @@ CREATE TABLE primary_ds_5.t_order_8 (order_id INT NOT NULL, user_id INT NOT NULL
 CREATE TABLE primary_ds_5.t_order_item_8 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
 CREATE TABLE primary_ds_5.t_order_9 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
 CREATE TABLE primary_ds_5.t_order_item_9 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE primary_ds_5.t_broadcast_table (id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (id));
 CREATE INDEX order_index_t_order_0 ON primary_ds_5.t_order_0 (order_id);
 CREATE INDEX order_index_t_order_1 ON primary_ds_5.t_order_1 (order_id);
 CREATE INDEX order_index_t_order_2 ON primary_ds_5.t_order_2 (order_id);
@@ -245,6 +272,7 @@ CREATE TABLE primary_ds_6.t_order_8 (order_id INT NOT NULL, user_id INT NOT NULL
 CREATE TABLE primary_ds_6.t_order_item_8 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
 CREATE TABLE primary_ds_6.t_order_9 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
 CREATE TABLE primary_ds_6.t_order_item_9 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE primary_ds_6.t_broadcast_table (id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (id));
 CREATE INDEX order_index_t_order_0 ON primary_ds_6.t_order_0 (order_id);
 CREATE INDEX order_index_t_order_1 ON primary_ds_6.t_order_1 (order_id);
 CREATE INDEX order_index_t_order_2 ON primary_ds_6.t_order_2 (order_id);
@@ -276,6 +304,7 @@ CREATE TABLE primary_ds_7.t_order_8 (order_id INT NOT NULL, user_id INT NOT NULL
 CREATE TABLE primary_ds_7.t_order_item_8 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
 CREATE TABLE primary_ds_7.t_order_9 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
 CREATE TABLE primary_ds_7.t_order_item_9 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE primary_ds_7.t_broadcast_table (id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (id));
 CREATE INDEX order_index_t_order_0 ON primary_ds_7.t_order_0 (order_id);
 CREATE INDEX order_index_t_order_1 ON primary_ds_7.t_order_1 (order_id);
 CREATE INDEX order_index_t_order_2 ON primary_ds_7.t_order_2 (order_id);
@@ -307,6 +336,7 @@ CREATE TABLE primary_ds_8.t_order_8 (order_id INT NOT NULL, user_id INT NOT NULL
 CREATE TABLE primary_ds_8.t_order_item_8 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
 CREATE TABLE primary_ds_8.t_order_9 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
 CREATE TABLE primary_ds_8.t_order_item_9 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE primary_ds_8.t_broadcast_table (id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (id));
 CREATE INDEX order_index_t_order_0 ON primary_ds_8.t_order_0 (order_id);
 CREATE INDEX order_index_t_order_1 ON primary_ds_8.t_order_1 (order_id);
 CREATE INDEX order_index_t_order_2 ON primary_ds_8.t_order_2 (order_id);
@@ -338,6 +368,7 @@ CREATE TABLE primary_ds_9.t_order_8 (order_id INT NOT NULL, user_id INT NOT NULL
 CREATE TABLE primary_ds_9.t_order_item_8 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
 CREATE TABLE primary_ds_9.t_order_9 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
 CREATE TABLE primary_ds_9.t_order_item_9 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE primary_ds_9.t_broadcast_table (id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (id));
 CREATE INDEX order_index_t_order_0 ON primary_ds_9.t_order_0 (order_id);
 CREATE INDEX order_index_t_order_1 ON primary_ds_9.t_order_1 (order_id);
 CREATE INDEX order_index_t_order_2 ON primary_ds_9.t_order_2 (order_id);
@@ -369,6 +400,7 @@ CREATE TABLE replica_ds_0.t_order_8 (order_id INT NOT NULL, user_id INT NOT NULL
 CREATE TABLE replica_ds_0.t_order_item_8 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
 CREATE TABLE replica_ds_0.t_order_9 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
 CREATE TABLE replica_ds_0.t_order_item_9 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE replica_ds_0.t_broadcast_table (id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (id));
 CREATE INDEX order_index_t_order_0 ON replica_ds_0.t_order_0 (order_id);
 CREATE INDEX order_index_t_order_1 ON replica_ds_0.t_order_1 (order_id);
 CREATE INDEX order_index_t_order_2 ON replica_ds_0.t_order_2 (order_id);
@@ -400,6 +432,7 @@ CREATE TABLE replica_ds_1.t_order_8 (order_id INT NOT NULL, user_id INT NOT NULL
 CREATE TABLE replica_ds_1.t_order_item_8 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
 CREATE TABLE replica_ds_1.t_order_9 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
 CREATE TABLE replica_ds_1.t_order_item_9 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE replica_ds_1.t_broadcast_table (id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (id));
 CREATE INDEX order_index_t_order_0 ON replica_ds_1.t_order_0 (order_id);
 CREATE INDEX order_index_t_order_1 ON replica_ds_1.t_order_1 (order_id);
 CREATE INDEX order_index_t_order_2 ON replica_ds_1.t_order_2 (order_id);
@@ -431,6 +464,7 @@ CREATE TABLE replica_ds_2.t_order_8 (order_id INT NOT NULL, user_id INT NOT NULL
 CREATE TABLE replica_ds_2.t_order_item_8 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
 CREATE TABLE replica_ds_2.t_order_9 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
 CREATE TABLE replica_ds_2.t_order_item_9 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE replica_ds_2.t_broadcast_table (id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (id));
 CREATE INDEX order_index_t_order_0 ON replica_ds_2.t_order_0 (order_id);
 CREATE INDEX order_index_t_order_1 ON replica_ds_2.t_order_1 (order_id);
 CREATE INDEX order_index_t_order_2 ON replica_ds_2.t_order_2 (order_id);
@@ -462,6 +496,7 @@ CREATE TABLE replica_ds_3.t_order_8 (order_id INT NOT NULL, user_id INT NOT NULL
 CREATE TABLE replica_ds_3.t_order_item_8 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
 CREATE TABLE replica_ds_3.t_order_9 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
 CREATE TABLE replica_ds_3.t_order_item_9 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE replica_ds_3.t_broadcast_table (id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (id));
 CREATE INDEX order_index_t_order_0 ON replica_ds_3.t_order_0 (order_id);
 CREATE INDEX order_index_t_order_1 ON replica_ds_3.t_order_1 (order_id);
 CREATE INDEX order_index_t_order_2 ON replica_ds_3.t_order_2 (order_id);
@@ -493,6 +528,7 @@ CREATE TABLE replica_ds_4.t_order_8 (order_id INT NOT NULL, user_id INT NOT NULL
 CREATE TABLE replica_ds_4.t_order_item_8 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
 CREATE TABLE replica_ds_4.t_order_9 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
 CREATE TABLE replica_ds_4.t_order_item_9 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE replica_ds_4.t_broadcast_table (id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (id));
 CREATE INDEX order_index_t_order_0 ON replica_ds_4.t_order_0 (order_id);
 CREATE INDEX order_index_t_order_1 ON replica_ds_4.t_order_1 (order_id);
 CREATE INDEX order_index_t_order_2 ON replica_ds_4.t_order_2 (order_id);
@@ -524,6 +560,7 @@ CREATE TABLE replica_ds_5.t_order_8 (order_id INT NOT NULL, user_id INT NOT NULL
 CREATE TABLE replica_ds_5.t_order_item_8 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
 CREATE TABLE replica_ds_5.t_order_9 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
 CREATE TABLE replica_ds_5.t_order_item_9 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE replica_ds_5.t_broadcast_table (id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (id));
 CREATE INDEX order_index_t_order_0 ON replica_ds_5.t_order_0 (order_id);
 CREATE INDEX order_index_t_order_1 ON replica_ds_5.t_order_1 (order_id);
 CREATE INDEX order_index_t_order_2 ON replica_ds_5.t_order_2 (order_id);
@@ -555,6 +592,7 @@ CREATE TABLE replica_ds_6.t_order_8 (order_id INT NOT NULL, user_id INT NOT NULL
 CREATE TABLE replica_ds_6.t_order_item_8 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
 CREATE TABLE replica_ds_6.t_order_9 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
 CREATE TABLE replica_ds_6.t_order_item_9 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE replica_ds_6.t_broadcast_table (id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (id));
 CREATE INDEX order_index_t_order_0 ON replica_ds_6.t_order_0 (order_id);
 CREATE INDEX order_index_t_order_1 ON replica_ds_6.t_order_1 (order_id);
 CREATE INDEX order_index_t_order_2 ON replica_ds_6.t_order_2 (order_id);
@@ -586,6 +624,7 @@ CREATE TABLE replica_ds_7.t_order_8 (order_id INT NOT NULL, user_id INT NOT NULL
 CREATE TABLE replica_ds_7.t_order_item_8 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
 CREATE TABLE replica_ds_7.t_order_9 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
 CREATE TABLE replica_ds_7.t_order_item_9 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE replica_ds_7.t_broadcast_table (id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (id));
 CREATE INDEX order_index_t_order_0 ON replica_ds_7.t_order_0 (order_id);
 CREATE INDEX order_index_t_order_1 ON replica_ds_7.t_order_1 (order_id);
 CREATE INDEX order_index_t_order_2 ON replica_ds_7.t_order_2 (order_id);
@@ -617,6 +656,7 @@ CREATE TABLE replica_ds_8.t_order_8 (order_id INT NOT NULL, user_id INT NOT NULL
 CREATE TABLE replica_ds_8.t_order_item_8 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
 CREATE TABLE replica_ds_8.t_order_9 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
 CREATE TABLE replica_ds_8.t_order_item_9 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE replica_ds_8.t_broadcast_table (id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (id));
 CREATE INDEX order_index_t_order_0 ON replica_ds_8.t_order_0 (order_id);
 CREATE INDEX order_index_t_order_1 ON replica_ds_8.t_order_1 (order_id);
 CREATE INDEX order_index_t_order_2 ON replica_ds_8.t_order_2 (order_id);
@@ -648,6 +688,7 @@ CREATE TABLE replica_ds_9.t_order_8 (order_id INT NOT NULL, user_id INT NOT NULL
 CREATE TABLE replica_ds_9.t_order_item_8 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
 CREATE TABLE replica_ds_9.t_order_9 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
 CREATE TABLE replica_ds_9.t_order_item_9 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE replica_ds_9.t_broadcast_table (id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (id));
 CREATE INDEX order_index_t_order_0 ON replica_ds_9.t_order_0 (order_id);
 CREATE INDEX order_index_t_order_1 ON replica_ds_9.t_order_1 (order_id);
 CREATE INDEX order_index_t_order_2 ON replica_ds_9.t_order_2 (order_id);
diff --git a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/env/replica_query/h2/init.sql b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/env/replica_query/h2/init.sql
new file mode 100644
index 0000000..0fd19c9
--- /dev/null
+++ b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/env/replica_query/h2/init.sql
@@ -0,0 +1,25 @@
+--
+-- Licensed to the Apache Software Foundation (ASF) under one or more
+-- contributor license agreements.  See the NOTICE file distributed with
+-- this work for additional information regarding copyright ownership.
+-- The ASF licenses this file to You under the Apache License, Version 2.0
+-- (the "License"); you may not use this file except in compliance with
+-- the License.  You may obtain a copy of the License at
+--
+--     http://www.apache.org/licenses/LICENSE-2.0
+--
+-- Unless required by applicable law or agreed to in writing, software
+-- distributed under the License is distributed on an "AS IS" BASIS,
+-- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+-- See the License for the specific language governing permissions and
+-- limitations under the License.
+--
+
+DROP TABLE IF EXISTS t_order;
+DROP TABLE IF EXISTS t_order_item;
+DROP TABLE IF EXISTS t_broadcast_table;
+
+CREATE TABLE t_order (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
+CREATE TABLE t_order_item (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_broadcast_table (id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (id));
+CREATE INDEX order_index_t_order ON t_order (order_id);
diff --git a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/env/replica_query/mysql/init.sql b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/env/replica_query/mysql/init.sql
new file mode 100644
index 0000000..7667c16
--- /dev/null
+++ b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/env/replica_query/mysql/init.sql
@@ -0,0 +1,59 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+--
+-- Licensed to the Apache Software Foundation (ASF) under one or more
+-- contributor license agreements.  See the NOTICE file distributed with
+-- this work for additional information regarding copyright ownership.
+-- The ASF licenses this file to You under the Apache License, Version 2.0
+-- (the "License"); you may not use this file except in compliance with
+-- the License.  You may obtain a copy of the License at
+--
+--     http://www.apache.org/licenses/LICENSE-2.0
+--
+-- Unless required by applicable law or agreed to in writing, software
+-- distributed under the License is distributed on an "AS IS" BASIS,
+-- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+-- See the License for the specific language governing permissions and
+-- limitations under the License.
+--
+
+CREATE USER 'root'@'%' IDENTIFIED BY '';
+GRANT All privileges ON *.* TO 'root'@'%';
+
+DROP DATABASE IF EXISTS primary_ds;
+DROP DATABASE IF EXISTS replica_0;
+DROP DATABASE IF EXISTS replica_1;
+
+CREATE DATABASE primary_ds;
+CREATE DATABASE replica_0;
+CREATE DATABASE replica_1;
+
+CREATE TABLE primary_ds.t_order (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
+CREATE TABLE primary_ds.t_order_item (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE primary_ds.t_broadcast_table (id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (id));
+CREATE INDEX order_index_t_order ON primary_ds.t_order (order_id);
+
+CREATE TABLE replica_0.t_order (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
+CREATE TABLE replica_0.t_order_item (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE replica_0.t_broadcast_table (id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (id));
+CREATE INDEX order_index_t_order ON replica_0.t_order (order_id);
+
+CREATE TABLE replica_1.t_order (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
+CREATE TABLE replica_1.t_order_item (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE replica_1.t_broadcast_table (id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (id));
+CREATE INDEX order_index_t_order ON replica_1.t_order (order_id);
diff --git a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/env/replica_query/oracle/init.sql b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/env/replica_query/oracle/init.sql
new file mode 100644
index 0000000..2f678eb
--- /dev/null
+++ b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/env/replica_query/oracle/init.sql
@@ -0,0 +1,42 @@
+--
+-- Licensed to the Apache Software Foundation (ASF) under one or more
+-- contributor license agreements.  See the NOTICE file distributed with
+-- this work for additional information regarding copyright ownership.
+-- The ASF licenses this file to You under the Apache License, Version 2.0
+-- (the "License"); you may not use this file except in compliance with
+-- the License.  You may obtain a copy of the License at
+--
+--     http://www.apache.org/licenses/LICENSE-2.0
+--
+-- Unless required by applicable law or agreed to in writing, software
+-- distributed under the License is distributed on an "AS IS" BASIS,
+-- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+-- See the License for the specific language governing permissions and
+-- limitations under the License.
+--
+
+CREATE USER 'root'@'%' IDENTIFIED BY '';
+GRANT All privileges ON *.* TO 'root'@'%';
+
+DROP SCHEMA primary_ds;
+DROP SCHEMA replica_0;
+DROP SCHEMA replica_1;
+
+CREATE SCHEMA primary_ds;
+CREATE SCHEMA replica_0;
+CREATE SCHEMA replica_1;
+
+CREATE TABLE primary_ds.t_order (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
+CREATE TABLE primary_ds.t_order_item (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE primary_ds.t_broadcast_table (id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (id));
+CREATE INDEX order_index_t_order ON primary_ds.t_order (order_id);
+
+CREATE TABLE replica_0.t_order (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
+CREATE TABLE replica_0.t_order_item (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE replica_0.t_broadcast_table (id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (id));
+CREATE INDEX order_index_t_order ON replica_0.t_order (order_id);
+
+CREATE TABLE replica_1.t_order (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
+CREATE TABLE replica_1.t_order_item (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE replica_1.t_broadcast_table (id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (id));
+CREATE INDEX order_index_t_order ON replica_1.t_order (order_id);
diff --git a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/env/replica_query/postgresql/init.sql b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/env/replica_query/postgresql/init.sql
new file mode 100644
index 0000000..cb21bdc
--- /dev/null
+++ b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/env/replica_query/postgresql/init.sql
@@ -0,0 +1,46 @@
+--
+-- Licensed to the Apache Software Foundation (ASF) under one or more
+-- contributor license agreements.  See the NOTICE file distributed with
+-- this work for additional information regarding copyright ownership.
+-- The ASF licenses this file to You under the Apache License, Version 2.0
+-- (the "License"); you may not use this file except in compliance with
+-- the License.  You may obtain a copy of the License at
+--
+--     http://www.apache.org/licenses/LICENSE-2.0
+--
+-- Unless required by applicable law or agreed to in writing, software
+-- distributed under the License is distributed on an "AS IS" BASIS,
+-- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+-- See the License for the specific language governing permissions and
+-- limitations under the License.
+--
+
+CREATE USER 'root'@'%' IDENTIFIED BY '';
+GRANT All privileges ON *.* TO 'root'@'%';
+
+SELECT pg_terminate_backend (pg_stat_activity.pid) FROM pg_stat_activity WHERE pg_stat_activity.datname = 'primary_ds';
+SELECT pg_terminate_backend (pg_stat_activity.pid) FROM pg_stat_activity WHERE pg_stat_activity.datname = 'replica_0';
+SELECT pg_terminate_backend (pg_stat_activity.pid) FROM pg_stat_activity WHERE pg_stat_activity.datname = 'replica_1';
+
+DROP DATABASE IF EXISTS primary_ds;
+DROP DATABASE IF EXISTS replica_0;
+DROP DATABASE IF EXISTS replica_1;
+
+CREATE DATABASE primary_ds;
+CREATE DATABASE replica_0;
+CREATE DATABASE replica_1;
+
+CREATE TABLE primary_ds.t_order (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
+CREATE TABLE primary_ds.t_order_item (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE primary_ds.t_broadcast_table (id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (id));
+CREATE INDEX order_index_t_order ON primary_ds.t_order (order_id);
+
+CREATE TABLE replica_0.t_order (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
+CREATE TABLE replica_0.t_order_item (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE replica_0.t_broadcast_table (id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (id));
+CREATE INDEX order_index_t_order ON replica_0.t_order (order_id);
+
+CREATE TABLE replica_1.t_order (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
+CREATE TABLE replica_1.t_order_item (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE replica_1.t_broadcast_table (id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (id));
+CREATE INDEX order_index_t_order ON replica_1.t_order (order_id);
diff --git a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/env/replica_query/init.sql b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/env/replica_query/sqlserver/init.sql
similarity index 51%
rename from shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/env/replica_query/init.sql
rename to shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/env/replica_query/sqlserver/init.sql
index 7200c60..6179dc6 100644
--- a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/env/replica_query/init.sql
+++ b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/env/replica_query/sqlserver/init.sql
@@ -1,35 +1,42 @@
-#
-# Licensed to the Apache Software Foundation (ASF) under one or more
-# contributor license agreements.  See the NOTICE file distributed with
-# this work for additional information regarding copyright ownership.
-# The ASF licenses this file to You under the Apache License, Version 2.0
-# (the "License"); you may not use this file except in compliance with
-# the License.  You may obtain a copy of the License at
-#
-#     http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
+--
+-- Licensed to the Apache Software Foundation (ASF) under one or more
+-- contributor license agreements.  See the NOTICE file distributed with
+-- this work for additional information regarding copyright ownership.
+-- The ASF licenses this file to You under the Apache License, Version 2.0
+-- (the "License"); you may not use this file except in compliance with
+-- the License.  You may obtain a copy of the License at
+--
+--     http://www.apache.org/licenses/LICENSE-2.0
+--
+-- Unless required by applicable law or agreed to in writing, software
+-- distributed under the License is distributed on an "AS IS" BASIS,
+-- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+-- See the License for the specific language governing permissions and
+-- limitations under the License.
+--
 
 CREATE USER 'root'@'%' IDENTIFIED BY '';
 GRANT All privileges ON *.* TO 'root'@'%';
 
+DROP DATABASE IF EXISTS primary_ds;
+DROP DATABASE IF EXISTS replica_0;
+DROP DATABASE IF EXISTS replica_1;
+
 CREATE DATABASE primary_ds;
 CREATE DATABASE replica_0;
 CREATE DATABASE replica_1;
 
 CREATE TABLE primary_ds.t_order (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
 CREATE TABLE primary_ds.t_order_item (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE primary_ds.t_broadcast_table (id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (id));
 CREATE INDEX order_index_t_order ON primary_ds.t_order (order_id);
 
 CREATE TABLE replica_0.t_order (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
 CREATE TABLE replica_0.t_order_item (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE replica_0.t_broadcast_table (id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (id));
 CREATE INDEX order_index_t_order ON replica_0.t_order (order_id);
 
 CREATE TABLE replica_1.t_order (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
 CREATE TABLE replica_1.t_order_item (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE replica_1.t_broadcast_table (id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (id));
 CREATE INDEX order_index_t_order ON replica_1.t_order (order_id);
diff --git a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/env/tbl/h2/init.sql b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/env/tbl/h2/init.sql
new file mode 100644
index 0000000..195c6a1
--- /dev/null
+++ b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/env/tbl/h2/init.sql
@@ -0,0 +1,80 @@
+--
+-- Licensed to the Apache Software Foundation (ASF) under one or more
+-- contributor license agreements.  See the NOTICE file distributed with
+-- this work for additional information regarding copyright ownership.
+-- The ASF licenses this file to You under the Apache License, Version 2.0
+-- (the "License"); you may not use this file except in compliance with
+-- the License.  You may obtain a copy of the License at
+--
+--     http://www.apache.org/licenses/LICENSE-2.0
+--
+-- Unless required by applicable law or agreed to in writing, software
+-- distributed under the License is distributed on an "AS IS" BASIS,
+-- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+-- See the License for the specific language governing permissions and
+-- limitations under the License.
+--
+
+DROP TABLE IF EXISTS t_order_0;
+DROP TABLE IF EXISTS t_order_item_0;
+DROP TABLE IF EXISTS t_order_1;
+DROP TABLE IF EXISTS t_order_item_1;
+DROP TABLE IF EXISTS t_order_2;
+DROP TABLE IF EXISTS t_order_item_2;
+DROP TABLE IF EXISTS t_order_3;
+DROP TABLE IF EXISTS t_order_item_3;
+DROP TABLE IF EXISTS t_order_4;
+DROP TABLE IF EXISTS t_order_item_4;
+DROP TABLE IF EXISTS t_order_5;
+DROP TABLE IF EXISTS t_order_item_5;
+DROP TABLE IF EXISTS t_order_6;
+DROP TABLE IF EXISTS t_order_item_6;
+DROP TABLE IF EXISTS t_order_7;
+DROP TABLE IF EXISTS t_order_item_7;
+DROP TABLE IF EXISTS t_order_8;
+DROP TABLE IF EXISTS t_order_item_8;
+DROP TABLE IF EXISTS t_order_9;
+DROP TABLE IF EXISTS t_order_item_9;
+DROP TABLE IF EXISTS t_broadcast_table;
+
+CREATE TABLE t_order_0 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
+CREATE TABLE t_order_item_0 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE INDEX order_index_t_order_0 ON t_order_0 (order_id);
+
+CREATE TABLE t_order_1 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
+CREATE TABLE t_order_item_1 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE INDEX order_index_t_order_1 ON t_order_1 (order_id);
+
+CREATE TABLE t_order_2 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
+CREATE TABLE t_order_item_2 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE INDEX order_index_t_order_2 ON t_order_2 (order_id);
+
+CREATE TABLE t_order_3 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
+CREATE TABLE t_order_item_3 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE INDEX order_index_t_order_3 ON t_order_3 (order_id);
+
+CREATE TABLE t_order_4 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
+CREATE TABLE t_order_item_4 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE INDEX order_index_t_order_4 ON t_order_4 (order_id);
+
+CREATE TABLE t_order_5 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
+CREATE TABLE t_order_item_5 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE INDEX order_index_t_order_5 ON t_order_5 (order_id);
+
+CREATE TABLE t_order_6 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
+CREATE TABLE t_order_item_6 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE INDEX order_index_t_order_6 ON t_order_6 (order_id);
+
+CREATE TABLE t_order_7 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
+CREATE TABLE t_order_item_7 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE INDEX order_index_t_order_7 ON t_order_7 (order_id);
+
+CREATE TABLE t_order_8 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
+CREATE TABLE t_order_item_8 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE INDEX order_index_t_order_8 ON t_order_8 (order_id);
+
+CREATE TABLE t_order_9 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
+CREATE TABLE t_order_item_9 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE INDEX order_index_t_order_9 ON t_order_9 (order_id);
+
+CREATE TABLE t_broadcast_table (id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (id));
diff --git a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/env/tbl/init.sql b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/env/tbl/mysql/init.sql
similarity index 67%
copy from shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/env/tbl/init.sql
copy to shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/env/tbl/mysql/init.sql
index dd8a30f..7f628c3 100644
--- a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/env/tbl/init.sql
+++ b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/env/tbl/mysql/init.sql
@@ -1,23 +1,42 @@
-#
-# Licensed to the Apache Software Foundation (ASF) under one or more
-# contributor license agreements.  See the NOTICE file distributed with
-# this work for additional information regarding copyright ownership.
-# The ASF licenses this file to You under the Apache License, Version 2.0
-# (the "License"); you may not use this file except in compliance with
-# the License.  You may obtain a copy of the License at
-#
-#     http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+--
+-- Licensed to the Apache Software Foundation (ASF) under one or more
+-- contributor license agreements.  See the NOTICE file distributed with
+-- this work for additional information regarding copyright ownership.
+-- The ASF licenses this file to You under the Apache License, Version 2.0
+-- (the "License"); you may not use this file except in compliance with
+-- the License.  You may obtain a copy of the License at
+--
+--     http://www.apache.org/licenses/LICENSE-2.0
+--
+-- Unless required by applicable law or agreed to in writing, software
+-- distributed under the License is distributed on an "AS IS" BASIS,
+-- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+-- See the License for the specific language governing permissions and
+-- limitations under the License.
+--
 
 CREATE USER 'root'@'%' IDENTIFIED BY '';
 GRANT All privileges ON *.* TO 'root'@'%';
 
+DROP DATABASE IF EXISTS tbl;
+
 CREATE DATABASE tbl;
 
 CREATE TABLE tbl.t_order_0 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
@@ -59,3 +78,5 @@ CREATE INDEX order_index_t_order_8 ON tbl.t_order_8 (order_id);
 CREATE TABLE tbl.t_order_9 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
 CREATE TABLE tbl.t_order_item_9 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
 CREATE INDEX order_index_t_order_9 ON tbl.t_order_9 (order_id);
+
+CREATE TABLE tbl.t_broadcast_table (id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (id));
diff --git a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/env/tbl/init.sql b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/env/tbl/oracle/init.sql
similarity index 79%
copy from shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/env/tbl/init.sql
copy to shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/env/tbl/oracle/init.sql
index dd8a30f..2382bb1 100644
--- a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/env/tbl/init.sql
+++ b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/env/tbl/oracle/init.sql
@@ -1,24 +1,26 @@
-#
-# Licensed to the Apache Software Foundation (ASF) under one or more
-# contributor license agreements.  See the NOTICE file distributed with
-# this work for additional information regarding copyright ownership.
-# The ASF licenses this file to You under the Apache License, Version 2.0
-# (the "License"); you may not use this file except in compliance with
-# the License.  You may obtain a copy of the License at
-#
-#     http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
+--
+-- Licensed to the Apache Software Foundation (ASF) under one or more
+-- contributor license agreements.  See the NOTICE file distributed with
+-- this work for additional information regarding copyright ownership.
+-- The ASF licenses this file to You under the Apache License, Version 2.0
+-- (the "License"); you may not use this file except in compliance with
+-- the License.  You may obtain a copy of the License at
+--
+--     http://www.apache.org/licenses/LICENSE-2.0
+--
+-- Unless required by applicable law or agreed to in writing, software
+-- distributed under the License is distributed on an "AS IS" BASIS,
+-- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+-- See the License for the specific language governing permissions and
+-- limitations under the License.
+--
 
 CREATE USER 'root'@'%' IDENTIFIED BY '';
 GRANT All privileges ON *.* TO 'root'@'%';
 
-CREATE DATABASE tbl;
+DROP SCHEMA tbl;
+
+CREATE SCHEMA tbl;
 
 CREATE TABLE tbl.t_order_0 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
 CREATE TABLE tbl.t_order_item_0 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
@@ -59,3 +61,5 @@ CREATE INDEX order_index_t_order_8 ON tbl.t_order_8 (order_id);
 CREATE TABLE tbl.t_order_9 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
 CREATE TABLE tbl.t_order_item_9 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
 CREATE INDEX order_index_t_order_9 ON tbl.t_order_9 (order_id);
+
+CREATE TABLE t_broadcast_table (id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (id));
diff --git a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/env/tbl/init.sql b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/env/tbl/postgresql/init.sql
similarity index 77%
copy from shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/env/tbl/init.sql
copy to shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/env/tbl/postgresql/init.sql
index dd8a30f..0119c5f 100644
--- a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/env/tbl/init.sql
+++ b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/env/tbl/postgresql/init.sql
@@ -1,23 +1,27 @@
-#
-# Licensed to the Apache Software Foundation (ASF) under one or more
-# contributor license agreements.  See the NOTICE file distributed with
-# this work for additional information regarding copyright ownership.
-# The ASF licenses this file to You under the Apache License, Version 2.0
-# (the "License"); you may not use this file except in compliance with
-# the License.  You may obtain a copy of the License at
-#
-#     http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
+--
+-- Licensed to the Apache Software Foundation (ASF) under one or more
+-- contributor license agreements.  See the NOTICE file distributed with
+-- this work for additional information regarding copyright ownership.
+-- The ASF licenses this file to You under the Apache License, Version 2.0
+-- (the "License"); you may not use this file except in compliance with
+-- the License.  You may obtain a copy of the License at
+--
+--     http://www.apache.org/licenses/LICENSE-2.0
+--
+-- Unless required by applicable law or agreed to in writing, software
+-- distributed under the License is distributed on an "AS IS" BASIS,
+-- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+-- See the License for the specific language governing permissions and
+-- limitations under the License.
+--
 
 CREATE USER 'root'@'%' IDENTIFIED BY '';
 GRANT All privileges ON *.* TO 'root'@'%';
 
+SELECT pg_terminate_backend (pg_stat_activity.pid) FROM pg_stat_activity WHERE pg_stat_activity.datname = 'tbl';
+
+DROP DATABASE IF EXISTS tbl;
+
 CREATE DATABASE tbl;
 
 CREATE TABLE tbl.t_order_0 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
@@ -59,3 +63,5 @@ CREATE INDEX order_index_t_order_8 ON tbl.t_order_8 (order_id);
 CREATE TABLE tbl.t_order_9 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
 CREATE TABLE tbl.t_order_item_9 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
 CREATE INDEX order_index_t_order_9 ON tbl.t_order_9 (order_id);
+
+CREATE TABLE t_broadcast_table (id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (id));
diff --git a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/env/tbl/init.sql b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/env/tbl/sqlserver/init.sql
similarity index 79%
rename from shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/env/tbl/init.sql
rename to shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/env/tbl/sqlserver/init.sql
index dd8a30f..9b5397d 100644
--- a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/env/tbl/init.sql
+++ b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/env/tbl/sqlserver/init.sql
@@ -1,23 +1,25 @@
-#
-# Licensed to the Apache Software Foundation (ASF) under one or more
-# contributor license agreements.  See the NOTICE file distributed with
-# this work for additional information regarding copyright ownership.
-# The ASF licenses this file to You under the Apache License, Version 2.0
-# (the "License"); you may not use this file except in compliance with
-# the License.  You may obtain a copy of the License at
-#
-#     http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
+--
+-- Licensed to the Apache Software Foundation (ASF) under one or more
+-- contributor license agreements.  See the NOTICE file distributed with
+-- this work for additional information regarding copyright ownership.
+-- The ASF licenses this file to You under the Apache License, Version 2.0
+-- (the "License"); you may not use this file except in compliance with
+-- the License.  You may obtain a copy of the License at
+--
+--     http://www.apache.org/licenses/LICENSE-2.0
+--
+-- Unless required by applicable law or agreed to in writing, software
+-- distributed under the License is distributed on an "AS IS" BASIS,
+-- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+-- See the License for the specific language governing permissions and
+-- limitations under the License.
+--
 
 CREATE USER 'root'@'%' IDENTIFIED BY '';
 GRANT All privileges ON *.* TO 'root'@'%';
 
+DROP DATABASE IF EXISTS tbl;
+
 CREATE DATABASE tbl;
 
 CREATE TABLE tbl.t_order_0 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
@@ -59,3 +61,5 @@ CREATE INDEX order_index_t_order_8 ON tbl.t_order_8 (order_id);
 CREATE TABLE tbl.t_order_9 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
 CREATE TABLE tbl.t_order_item_9 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
 CREATE INDEX order_index_t_order_9 ON tbl.t_order_9 (order_id);
+
+CREATE TABLE t_broadcast_table (id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (id));