方案
一、字段冗餘。也就是說把一部分資訊重複存放,比如 pay_log表裡除了userid欄位還有user_name欄位,等等。但是這只適合加少量字段,如果把註冊、登入時間、等級等等都字段都重複一遍,那是顯然不科學的。
方案二、表複製和同步。也就是說把main_db裡面的user_info表複製乙份到log_db中,然後設定定時任務讓這兩個表進行同步。這樣確實是可以在乙個庫里,然後可以進行 join 等的複雜語句操作了。但是這兩個表的內容是重複的,未免會比較浪費空間。
方案三、鏈結表。什麼是鏈結表呢?簡單來說,就是在log_db裡有乙個user_info表,但這個表並沒有儲存資料,而是直接鏈結到了 main_db裡的user_info表。這樣的話,我們可以既無需定期同步,又可以像在同乙個庫里使用join等操作
使用 federated 引擎的**,federated預設關閉,需求修改配置開啟該引擎
create table `user_info` (
`userid` int(11) not null auto_increment comment 『使用者id『,
`username` varchar(60) not null default 『『 comment 『帳號『,
`level` int(11) not null default 『1『 comment 『等級『,
`log_dt` timestamp not null default 『2016-11-30 00:00:00『 comment 『最後登入時間『,
`reg_dt` timestamp not null default current_timestamp comment 『註冊時間『,
primary key (`userid`),
key `idx_name` (`username`)
) engine=federated default charset=utf8 row_format=compact connection=『mysql://batsing:[email protected]:3306/main_db/user_info『 comment=『使用者基本資訊表-鏈結表『;
原文:
mysql建立褲 mysql 如何實現跨褲查詢
方案 一 字段冗餘。也就是說把一部分資訊重複存放,比如 pay log表裡除了userid欄位還有user name欄位,等等。但是這只適合加少量字段,如果把註冊 登入時間 等級等等都字段都重複一遍,那是顯然不科學的。方案二 表複製和同步。也就是說把main db裡面的user info表複製乙份到...
mysql如何建立外檢 mysql如何建立外來鍵
乙個主表blog部落格表,drop table if exists blog create table blog id int 11 not null auto increment,title varchar 11 default null,content varchar 11 default nu...
mysql表如何建立 如何建立mysql表?
mysql中建立資料表的語法為 create table table name column name column type 在mysql 提示符下,建立乙個mysql表這是很容易的。使用 sql 命令 create table 來建立表。在建立表前需要使用use databasename命令選擇...