Maison >développement back-end >tutoriel php >以下3种方案哪种速度最快_PHP教程

以下3种方案哪种速度最快_PHP教程

WBOY
WBOYoriginal
2016-07-13 10:51:20964parcourir

D0000D发往论坛板块-------------------------------------------------------
No0 号板块 dedecms
D8888D贴子标题-------------------------------------------------------
以下3种方案哪种速度最快?
D8888D主贴内容-------------------------------------------------------


mysql表
a, b, c, d, e, f字段

a为主键, 类型为vachar(20)

现在要更新, 一共1万条记录
要执行以下语句1万次, 不使用事务

方案1:
UPDATE table SET b = 222 , c = 333, d = 444 WHERE a = xx

方案2:
REPLACE INTO table VALUES($a,$b,$c,$d,$e,$f)

方案3:
等你写

我来回答




D8888D回贴内容-------------------------------------------------------
1吧.

D8888D回贴内容-------------------------------------------------------
也很想知道这个问题,帮顶一个。

D8888D回贴内容-------------------------------------------------------
方案3!~[img]http://www.phpchina.com/bbs/images/smilies/default/victory.gif[/img]

D8888D回贴内容-------------------------------------------------------
应该没差别吧?

D8888D回贴内容-------------------------------------------------------
楼主似乎在弄数据同步。
数据同步有三种需求:增,删,改。
方案1只满足改的需求。
方案2满足增和改的需求。

D8888D回贴内容-------------------------------------------------------
封装成一条 REPLACE INTO 语句或许效率会比较高,因为只需要向数据库服务器发送一次指令,像这样:

REPLACE INTO table VALUES (1, 1, 1, 1),(2, 1, 1, 1),(3, 1, 1, 1),(4, 1, 1, 1);

D8888D回贴内容-------------------------------------------------------
[url=http://bbs.phpchina.com/redirect.php?goto=findpost&pid=1067540&ptid=126860]链接标记6#[/url] faallan

恩!

不过我只需要改, 不需要增.

D8888D回贴内容-------------------------------------------------------
[url=http://bbs.phpchina.com/redirect.php?goto=findpost&pid=1067568&ptid=126860]链接标记7#[/url] 路游宝宝

replace into其实是二次查询,先删除再增加
不过优点是不用事务时可以一次合并几句
由于先删除再增加,不知道在高并发下会怎么样,要照顾到读
还没实际测试, 不知道能快多少


www.bkjia.comtruehttp://www.bkjia.com/PHPjc/632569.htmlTechArticleD0000D发往论坛板块------------------------------------------------------- No0 号板块 dedecms D8888D贴子标题------------------------------------------------------- 以下...
Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Article précédent:关于str_pad_PHP教程Article suivant:zend studio 的问题_PHP教程