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,安裝完成后才能正常使用外部表的功能。