需求:
对方我公司的产品是一路捞导航网站。主页图片刷新的有点慢,就想把原来只用一个域名来刷新图片的过程改成四个域名来刷新,四个并行刷新可以提高速度,交给我操作数据库的任务就是:修改表中的关于图片的字段的内容,
SQL> select MAINIMAGEURL from test_nav_en_us.tb_type_main where rownum <6;
MAINIMAGEURL
--------------------------------------------------------------------------------
http://m0.16lao.com/v1/tfs/T1EaJTB7dj1RXrhCrK.jpg
MAINIMAGEURL
--------------------------------------------------------------------------------
http://m0.16lao.com/v1/tfs/T1EaJTB7dj1RXrhCrK.jpg
http://m0.16lao.com/v1/tfs/T1ItJTB7hj1RXrhCrK.jpg
http://m0.16lao.com/v1/tfs/T1EaJTB7dj1RXrhCrK.jpg
http://m0.16lao.com/v1/tfs/T1ItJTB7hj1RXrhCrK.jpg
http://m0.16lao.com/v1/tfs/T1EaJTB7dj1RXrhCrK.jpg
http://m0.16lao.com/v1/tfs/T1ItJTB7hj1RXrhCrK.jpg
我的任务是要把m后面的0这个数字平均改成0,1,2,3这样就把一个域名改成了四个,具体怎么实现我不太清楚。
操作步骤:
1,利用拼接和截取以及round对m后的数字取随机数,
update TB_PAD_INFO_INDEX t
set t.MAINIMAGEURL=substr(t.MAINIMAGEURL,1,8)||round(dbms_random.value(0,3),0)||substr(t.MAINIMAGEURL,10,100);
2,因为是随机数,肯定到不到完全平均的效果,所以先查看现在分配的结果,
select substr(t.MAINIMAGEURL,9,1),count(*) from tb_pad_info_index t
group by substr(t.MAINIMAGEURL,9,1);
1 453
3 246
0 214
2 447
group by substr(t.MAINIMAGEURL,9,1);
1 453
3 246
0 214
2 447
3,根据上面的结果,把m1给m0分配120个,再把m2给m3分配100,借助伪列rownum:
update TB_PAD_INFO_INDEX t
set t.MAINIMAGEURL=substr( t.MAINIMAGEURL,1,8)||0||substr( t.MAINIMAGEURL,10,100)
where substr( t.MAINIMAGEURL,9,2)='m1' and rownum<=120;
update TB_PAD_INFO_INDEX t
set t.MAINIMAGEURL=substr( t.MAINIMAGEURL,1,8)||3||substr( t.MAINIMAGEURL,10,100)
where substr( t.MAINIMAGEURL,9,2)='m2' and rownum<=100;
set t.MAINIMAGEURL=substr( t.MAINIMAGEURL,1,8)||0||substr( t.MAINIMAGEURL,10,100)
where substr( t.MAINIMAGEURL,9,2)='m1' and rownum<=120;
update TB_PAD_INFO_INDEX t
set t.MAINIMAGEURL=substr( t.MAINIMAGEURL,1,8)||3||substr( t.MAINIMAGEURL,10,100)
where substr( t.MAINIMAGEURL,9,2)='m2' and rownum<=100;
反正目的就是尽可能的平均一下。
再次查看分配结果:
select substr(t.MAINIMAGEURL,9,1),count(*) from tb_pad_info_index t
group by substr(t.MAINIMAGEURL,9,1);
group by substr(t.MAINIMAGEURL,9,1);
1 333
3 346
0 334
2 345
3 346
0 334
2 345
其实如果数据量不是很大的话,可以借助excl工具,和UE编辑器,以及plsql\developer 完成任务。
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/29654823/viewspace-1600232/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/29654823/viewspace-1600232/
本文介绍了一种通过修改数据库中图片URL的方式,将原本单一域名负载分散到四个不同域名上,以此提升图片加载速度的方法。主要步骤包括使用随机数初步替换URL中的数字,并进一步手动调整以确保各域名间的负载均衡。
710

被折叠的 条评论
为什么被折叠?



