MySQL是一个属于关系型数据库管理系统的开源软件,适用于各种规模的企业应用。
MySQL支持外部表,它们是MySQL联结来自外部数据库、文件或API的数据的一种方式。当我们需要在MySQL中查询大量的数据时,可以先在外部连接中将数据存储到另一个服务器上,然后将数据存储在MySQL的外部表中。这样做可以避免MySQL服务器内部存储的数据量过大,提高查询效率。
CREATE TABLE `mytable` (`id` int(11) NOT NULL AUTO_INCREMENT,`name` varchar(50) DEFAULT NULL,`age` int(11) DEFAULT NULL,PRIMARY KEY (`id`)) ENGINE=InnoDB DEFAULT CHARSET=utf8;CREATE FOREIGN TABLE `myexternaltable` (`name` varchar(50) DEFAULT NULL,`age` int(11) DEFAULT NULL,) SERVER myexternaldatasource OPTIONS (dbname 'mydb', table_name 'ext_mytable');
上面的代码演示了如何创建一个外部表。首先我们创建了一个普通表`mytable`,然后使用`CREATE FOREIGN TABLE`语句来创建一个外部表`myexternaltable`。`myexternaltable`属性和普通表并无区别,只是表中的数据来自于外部数据源。
最后需要注意的是,使用外部表还需要安装MySQL的外部数据源组件,常见的外部数据源有MySQL Federated存储引擎和MySQL Connect,安装完成后才能正常使用外部表的功能。