MySQLのステートメント関連の教訓

1.フィールドデクリメント

UPDATE `table_name` SET `total`=IF(`total` < 1, 0, `total`-1) WHERE `id` = 1;

我々は、フィールドの減算を行う際に一般的に外部に価値判断を必要とします

これはまた、クエリ外部値決意を排除するエラーが最大又は場合なり、合計フィールド符号なしオーバーフロー値が0で防止することができます

 


サブクエリを使用して2. UPDATEのSETデータ

UPDATE `bz_xs_chapter` AS c,
(SELECT COUNT(*) AS total FROM `bz_xs_chapter` WHERE `bookId` = 22042) AS c1,
(SELECT COUNT(*) AS total FROM `bz_xs_tome` WHERE `bookId` = 22372) AS c2
SET
`c`.`name`=`c1`.`total`, 
`c`.`words`=`c2`.`total` 
WHERE `c`.`id` = 2889820

フィールドの値によって、複数のサブクエリこのアップデートでは、効率が非常に高いバーです

 


ハイ3. COUNT(*)効率

前に関連する記事をたくさん見て、いくつかは、使用COUNT(ID)高効率を言って、それぞれの側は理由を持っているようだが、彼らはテストします。

270Wデータ、データテーブルの350メガバイトのサイズ、よりCOUNT(*)  COUNT(IDの少なくとも10または100倍の速さ)







ます。https://my.oschina.net/zhouz/blog/213088で再現

おすすめ

転載: blog.csdn.net/weixin_34161032/article/details/91728283