草庐IT

update_columns

全部标签

MySQL UPDATE 语句批处理以避免大量 TRX 大小

我经常编写更新数百万行数据的数据清理。数据驻留在使用InnoDB的24x7x365OLTPMySQL数据库中。更新可能会清理表的每一行(其中DB最终获得表级锁)或者可能只是清理表中10%的行(可能仍为数百万)。为了避免创建大量事务并最大程度地减少争用,我通常最终会尝试将我的一个大型UPDATE语句分解为一系列较小的UPDATE事务。所以我最终写了一个循环结构来限制我的UPDATE的WHERE子句,如下所示:(警告:这只是为了说明问题的伪代码)@batch_size=10000;@max_primary_key_value=selectmax(pk)fromtable1for(inti=

MySQL 性能 : nested insert/duplicate key vs multiple updates

有谁知道什么会更有效并使用更少的资源:方法1--使用单个SELECT语句从一个表中获取数据,然后遍历它以对另一个表执行多个UPDATE。例如。(伪代码,execute()运行查询):Query1_resultset=execute("SELECTitem_id,sum(views)asview_countFROMtableAWHEREcondition=1");while(Query1_resultsetasrow){execute("UPDATEtableBSETview_count=row.view_countWHEREid=row.item_id");}方法2--使用单个INSE

mysql - MySQL 可以在 UPDATE 中进行正则表达式替换吗?

我见过使用REGEXP运算符进行匹配的MySQLSELECT示例。有没有办法在UPDATE中进行正则表达式替换?如果不是,对列中的所有值运行正则表达式替换的最简单方法是什么?请随意建议使用任何编程语言或正则表达式实现。 最佳答案 基本上,没有。您可以使用一些繁琐的REPLACE()调用,在支持正则表达式替换的脚本中创建UPDATE语句,或者使用一些UDF,thisoneforinstance 关于mysql-MySQL可以在UPDATE中进行正则表达式替换吗?,我们在StackOverf

mysql - information_schema 表和 update_time 行为

我想对information_schema及其行为进行一些解释。假设我想知道myisam表何时被修改。我写这个查询selectupdate_timefrominformation_schema.tableswheretable_schema='my_db'andtable_name='my_table'即使我对我的表应用了一些更改,但在我运行flushtables之前,它什么也没有发生。不幸的是,在我看来update_time存储了我运行刷新表的那一刻的日期和时间,而不是真正发生表更改的那一刻。是真的吗?提前致谢。 最佳答案 我个人

由于 "Cannot add or update a child row: foreign key constraint fails",MySQL .cs​​v 加载失败

我正在尝试将包含棒球时间表的.csv文件加载到游戏表中。csv文件内容如下所示:5/17/2011,8:10PM,14,13,KansasCity,MO5/18/2011,8:10PM,14,16,Chicago,IL5/19/2011,8:10PM,14,16,Chicago,IL5/20/2011,7:05PM,26,14,Columbus,OH我尝试插入它们的sql语句是:LOADDATALOCALINFILE'c:/ftpsite/comp.csv'INTOTABLEgameFIELDSTERMINATEDBY','ENCLOSEDBY'"'LINESTERMINATEDBY'

mysql - 'WHERE column LIKE "%expression %"' 如何在 MySQL 中比 MATCH(column) AGAINST ("expression") 表现得更好?

我遇到了一个严重的MySQL性能瓶颈,我无法理解和解决。以下是表结构、索引和记录数(请耐心等待,只有两个表):mysql>descelggobjects_entity;+-------------+---------------------+------+-----+---------+-------+|Field|Type|Null|Key|Default|Extra|+-------------+---------------------+------+-----+---------+-------+|guid|bigint(20)unsigned|NO|PRI|NULL|||ti

mysql - mysql 查询 : couple of conditions matching in the same column

我的mysql数据库中有一张名为“events”的表:+-----+-----------+------------------------------+------------+|ID|CATEGORY|NAME|TYPE|+-----+-----------+------------------------------+------------+|1|1|Concert|music||2|2|Basketballmatch|indoors||3|1|Theatherplay|outdoors||4|1|Concert|outdoors|+-----+-----------+----

mysql - "column1 and(column2 or column3)"和 "(column1 andcolumn2) or (column1 and column3) in an sql query run in mysql "有什么区别

我陷入了需要表中的(column1和column2)或(column1或column3)的情况。所以我把它实现为select*frommytablewherecolumn1=xand(column2=yorcolumn3=z)但它通过实现为我获取了一些不必要的行select*frommytablewhere(column1=xandcolumn2=y)or(column1=xandcolumn3=z)它给出了结果,但我无法理解两者之间的差异...请提出建议编辑(添加详细信息)下面我已经说明了我的情况,请查收,让我详细说明一下我的情况:::我有一个表,比如说clientdetails(i

php - 组合 SELECT 和 UPDATE 以避免重复选择

我想结合SELECT和UPDATE查询,以避免重复选择行。这是我的示例代码:privatefunctiongetNewRCode(){$getrcodesql="SELECT*FROM`{$this->mysqlprefix}codes`WHERE`used`=0LIMIT1;";$getrcodequery=$this->mysqlconn->query($getrcodesql);if(@$getrcodequery->num_rows>0){$rcode=$getrcodequery->fetch_array();$updatercodesql="UPDATE`{$this->m

Python、MySQL、Django : set default value for table columns

我的表在Python中指定为模型,然后由Django将其制成MySQL表。在Python中:classmy_table(models.Model):is_correct=models.IntegerField(default=0)如果我向该表中执行插入操作,那么我希望它自动为is_correct列插入0,除非我指定了不同的值。如果我使用原始sql或者如果我从MySQL存储过程插入,我也希望发生这种情况。default参数似乎只在Python中有效。它没有被翻译成MySQL看到的任何东西。这样的事情可能吗? 最佳答案 是的,defau