需求:
成都一家集口碑和實力的網站建設服務商,擁有專業的企業建站團隊和靠譜的建站技術,10年企業及個人網站建設經驗 ,為成都上千客戶提供網頁設計制作,網站開發,企業網站制作建設等服務,包括成都營銷型網站建設,成都品牌網站建設,同時也為不同行業的客戶提供做網站、網站制作的服務,包括成都電商型網站制作建設,裝修行業網站制作建設,傳統機械行業網站建設,傳統農業行業網站制作建設。在成都做網站,選網站制作建設服務商就選成都創新互聯。
如何將多條update語句合并為一條update語句:
如,update table1 set col='2012' haha='hello' where id='2014001'
update table1 set col='1009' haha='nihao' where id='2014003'
上面 這兩行 執行之后,每一條需要5秒,總共需要10秒才能執行完.
如何合并為一條?
在網上找了好久,總結了一個相對簡單的語句(有些語句是函數語句,有點暈),如下:
update table1 set col=(case id
when '2014001' then '2012'
when '2014003' then '1009' end),
haha=(case id
when '2014001' then 'hello'
when '2014003' then 'nihao' end)
where id in('2014001','2014003')
改成這個之后,還是需要5秒,但是,它只執行了一次,所以只需要5秒
MySQL InnoDB 表數據頁或者二級索引頁(簡稱數據頁或者索引頁)的合并與分裂對 InnoDB 表整體性能影響很大;數據頁的這類操作越多,對 InnoDB 表數據寫入的影響越大。
MySQL 提供了一個數據頁合并臨界值(MERGE_THRESHOLD),在某些場景下,可以人為介入,減少數據頁的合并與分裂。
在 InnoDB 表里,每個數據頁默認16K 大小,默認 MERGE_THRESHOLD 值為 50,取值范圍從 1 到 50,默認值即是最大值。也就是當頁面記錄數占比小于 50% 時,MySQL 會把這頁和相鄰的頁面進行合并,保證數據頁的緊湊,避免太多浪費。
您好.
以前有高人寫過類似的:
select id,group_concat(re_id order by re_id separator ",") as re_id
from tablename
group by id
方法2:
select group_concat(list_name) from aa_list
如果還有問題,可以繼續追問,感謝。
在你第二個查詢的基礎上進行行轉列,如果類型是動態的建議封裝
存儲過程
。在外層套一個查詢,用
max(case
when
then
...
end
)
as
'列名'...這種方士可以實現。
您好.
以前有高人寫過類似的:
select id,group_concat(re_id order by re_id separator ",") as re_id
from tablename
group by id
方法2:
select group_concat(list_name) from aa_list
如果還有問題,可以繼續追問,感謝。
您好.
以前有高人寫過類似的:
select id,group_concat(re_id order by re_id separator ",") as re_id
from tablename
group by id
方法2:
select group_concat(list_name) from aa_list
如果還有問題,可以繼續追問,感謝。
網站題目:mysql怎么合并行 mysql多行合并一行
瀏覽地址:http://m.kartarina.com/article14/dodspde.html
成都網站建設公司_創新互聯,為您提供虛擬主機、網站排名、全網營銷推廣、標簽優化、App設計、關鍵詞優化
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯