SELECT MAX(login_time) AS login_time,user_id
成都創(chuàng)新互聯(lián)公司是專業(yè)的廣昌網(wǎng)站建設公司,廣昌接單;提供成都做網(wǎng)站、網(wǎng)站制作,網(wǎng)頁設計,網(wǎng)站設計,建網(wǎng)站,PHP網(wǎng)站建設等專業(yè)做網(wǎng)站服務;采用PHP框架,可快速的進行廣昌網(wǎng)站開發(fā)網(wǎng)頁制作和功能擴展;專業(yè)做搜索引擎喜愛的網(wǎng)站,專業(yè)的做網(wǎng)站團隊,希望更多企業(yè)前來合作!
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萬條,考慮橫向拆表。
如果你很多字段為空值,考慮縱向拆表。
先把導出表的框架 然后在分表導入數(shù)據(jù) 數(shù)據(jù)多的表 吧數(shù)據(jù)生成腳本來導入~~~~
覺得你還是應該用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、做分區(qū)表,(哪個字段分區(qū)很重要,分錯會影響性能)。
2、拆表,
可以將歷史數(shù)據(jù)放到 其他表中,例如 abc表中,2013年的數(shù)據(jù),拆到 abc_2013表中,2014年的數(shù)據(jù)拆到abc_2014表中。
網(wǎng)站名稱:mysql應該怎么拆表 如何拆表把圖解
文章鏈接:http://aaarwkj.com/article42/doodcec.html
成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供動態(tài)網(wǎng)站、全網(wǎng)營銷推廣、小程序開發(fā)、網(wǎng)站導航、云服務器、品牌網(wǎng)站制作
聲明:本網(wǎng)站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經(jīng)允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)