SELECT MAX(login_time) AS login_time,user_id
成都創新互聯公司是專業的廣昌網站建設公司,廣昌接單;提供成都做網站、網站制作,網頁設計,網站設計,建網站,PHP網站建設等專業做網站服務;采用PHP框架,可快速的進行廣昌網站開發網頁制作和功能擴展;專業做搜索引擎喜愛的網站,專業的做網站團隊,希望更多企業前來合作!
FROM(
SELECT MAX(login_time) AS login_time,user_id FROM user_login_record GROUP BY user_id
UNION
SELECT MAX(login_time) AS login_time,user_id FROM user_login_record_20170101 GROUP BY user_id
UNION
SELECT MAX(login_time) AS login_time,user_id FROM user_login_record_20180101 GROUP BY user_id
)TMP GROUP BY user_id
my.ini 里面有設置
另外如果你的表記錄大于 100萬條,考慮橫向拆表。
如果你很多字段為空值,考慮縱向拆表。
先把導出表的框架 然后在分表導入數據 數據多的表 吧數據生成腳本來導入~~~~
覺得你還是應該用php去寫。非要用mysql本身的話給個參考:
mysql?select?*?from?a;
+------+--------+------+----+
|?id???|?name???|?num1?|?bb?|
+------+--------+------+----+
|????1?|?a,?????|????2?|??3?|
|????2?|?b,c,???|????2?|??4?|
|????3?|?d,e,f,?|????2?|??5?|
+------+--------+------+----+
3?rows?in?set?(0.00?sec)
mysql?delimiter?//
mysql?create?procedure?`strsplit1`(in?str3?varchar(2))
-?begin
-??declare?i?int(10);
-??declare?j?int(10);
-??declare?k?int(10);
-??declare?str1?varchar(100);
-?????????declare?str4?varchar(1000);
-??declare?str5?varchar(100);
-
-??select?count(*)?into?i?from?a;
-??if?i!=0?then
-??????????drop?table?if?exists?tmp_table1;
-??????????CREATE?TEMPORARY?TABLE?tmp_table1?like?a;
-??end?if;
-
-??set?j=0;
-??while?ji?do
-??????????select?id,name?into?str1,str4?from?a?limit?j,1;
-??????????select?instr(str4,str3)?into?k?from?dual;
-??????????if?k=0?then
-??????????????????insert?into?tmp_table1(id,name)?values(str1,str4);
-??????????end?if;
-??????????while?k!=0?do
-??????????????????select?substring_index(str4,str3,1)?into?str5?from?dual;
-??????????????????insert?into?tmp_table1(id,name)?values(str1,str5);
-??????????????????select?mid(str4,k+1)?into?str4?from?dual;
-??????????????????select?instr(str4,str3)?into?k?from?dual;
-??????????end?while;
-??set?j=j+1;
-??end?while;
-
-?select?*?from?tmp_table1;
-?end
-?//
Query?OK,?0?rows?affected?(0.00?sec)
mysql??delimiter?;
最后結果:
mysql?call?strsplit1(',');
+------+------+------+----+
|?id???|?name?|?num1?|?bb?|
+------+------+------+----+
|????1?|?a????|?NULL?|??1?|
|????2?|?b????|?NULL?|??2?|
|????2?|?c????|?NULL?|??3?|
|????3?|?d????|?NULL?|??4?|
|????3?|?e????|?NULL?|??5?|
|????3?|?f????|?NULL?|??6?|
+------+------+------+----+
6?rows?in?set?(0.25?sec)
Query?OK,?0?rows?affected?(0.30?sec)
1、做分區表,(哪個字段分區很重要,分錯會影響性能)。
2、拆表,
可以將歷史數據放到 其他表中,例如 abc表中,2013年的數據,拆到 abc_2013表中,2014年的數據拆到abc_2014表中。
網站名稱:mysql應該怎么拆表 如何拆表把圖解
文章鏈接:http://vcdvsql.cn/article42/doodcec.html
成都網站建設公司_創新互聯,為您提供動態網站、全網營銷推廣、小程序開發、網站導航、云服務器、品牌網站制作
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯